pax_global_header00006660000000000000000000000064146015537200014515gustar00rootroot0000000000000052 comment=27c4f544f46d8ffbe88a69ca654a2c341eb2a065 easyeffects-7.1.6/000077500000000000000000000000001460155372000140315ustar00rootroot00000000000000easyeffects-7.1.6/.circleci/000077500000000000000000000000001460155372000156645ustar00rootroot00000000000000easyeffects-7.1.6/.circleci/config.yml000066400000000000000000000126021460155372000176550ustar00rootroot00000000000000version: 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.6/.circleci/disable_all_plugins.sh000077500000000000000000000073411460155372000222240ustar00rootroot00000000000000#!/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.6/.circleci/enable_all_plugins.sh000077500000000000000000000073011460155372000220430ustar00rootroot00000000000000#!/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.6/.circleci/presets/000077500000000000000000000000001460155372000173515ustar00rootroot00000000000000easyeffects-7.1.6/.circleci/presets/sie_preset_disable_all.json000066400000000000000000000227371460155372000247340ustar00rootroot00000000000000{ "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.6/.circleci/presets/sie_preset_enable_all.json000066400000000000000000000344731460155372000245570ustar00rootroot00000000000000{ "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.6/.circleci/presets/soe_preset_disable_all.json000066400000000000000000000720541460155372000247370ustar00rootroot00000000000000{ "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.6/.circleci/presets/soe_preset_enable_all.json000066400000000000000000000720411460155372000245560ustar00rootroot00000000000000{ "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.6/.circleci/test.sh000077500000000000000000000076641460155372000172170ustar00rootroot00000000000000#!/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.6/.clang-format000066400000000000000000000076531460155372000164170ustar00rootroot00000000000000--- 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.6/.clang-tidy000066400000000000000000000077651460155372000161040ustar00rootroot00000000000000# 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.6/.github/000077500000000000000000000000001460155372000153715ustar00rootroot00000000000000easyeffects-7.1.6/.github/FUNDING.yml000066400000000000000000000001751460155372000172110ustar00rootroot00000000000000github: wwmm liberapay: wwmm patreon: wellingtonwallace custom: https://www.paypal.com/donate?hosted_button_id=RK723F4EKH2UE easyeffects-7.1.6/.github/ISSUE_TEMPLATE/000077500000000000000000000000001460155372000175545ustar00rootroot00000000000000easyeffects-7.1.6/.github/ISSUE_TEMPLATE/bug_report.yml000066400000000000000000000031031460155372000224440ustar00rootroot00000000000000name: 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.6/.github/dependabot.yaml000066400000000000000000000001651460155372000203640ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" easyeffects-7.1.6/.github/workflows/000077500000000000000000000000001460155372000174265ustar00rootroot00000000000000easyeffects-7.1.6/.github/workflows/CI.yaml000066400000000000000000000261461460155372000206160ustar00rootroot00000000000000on: 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.2 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-45 options: --privileged steps: - name: Checkout uses: actions/checkout@v4.1.2 - 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.2 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.1 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.2 - 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.2 - 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.24.9 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.24.9 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3.24.9 clang-tidy: name: Clang Tidy runs-on: ubuntu-22.04 container: image: archlinux steps: - name: Checkout repository uses: actions/checkout@v4.1.2 - 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.2 - 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.6/.github/workflows/artifact-pr-comment.yaml000066400000000000000000000121101460155372000241610ustar00rootroot00000000000000name: 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.6/.github/workflows/deploy-help.yaml000066400000000000000000000023331460155372000225350ustar00rootroot00000000000000name: 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.2 - name: Setup Pages uses: actions/configure-pages@v4.0.0 - name: Build html help pages run: | 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.6/.github/workflows/flatpak-update.yaml000066400000000000000000000031731460155372000232200ustar00rootroot00000000000000name: 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.2 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.6/.github/workflows/translation-templates.yaml000066400000000000000000000064431460155372000246530ustar00rootroot00000000000000on: 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.2 - 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.0.2 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.6/.gitignore000066400000000000000000000020341460155372000160200ustar00rootroot00000000000000__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.6/CHANGELOG.md000066400000000000000000000540201460155372000156430ustar00rootroot00000000000000# Changelog ## 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 EasyEffeects 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.6/LICENSE000066400000000000000000001045051460155372000150430ustar00rootroot00000000000000 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.6/PKGBUILD000066400000000000000000000037051460155372000151620ustar00rootroot00000000000000# 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.6/PKGBUILD_AUR000066400000000000000000000024161460155372000156670ustar00rootroot00000000000000# 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.6/README.md000066400000000000000000000164251460155372000153200ustar00rootroot00000000000000

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 **Don't set** Easy Effects' virtual devices as your default audio input/output. Easy Effects is designed assuming that your hardware stays as default. ## 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. ## 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.6/data/000077500000000000000000000000001460155372000147425ustar00rootroot00000000000000easyeffects-7.1.6/data/com.github.wwmm.easyeffects-symbolic.svg000066400000000000000000000064371460155372000246410ustar00rootroot00000000000000 easyeffects-7.1.6/data/com.github.wwmm.easyeffects.Devel.svg000066400000000000000000000150331460155372000240500ustar00rootroot00000000000000 easyeffects-7.1.6/data/com.github.wwmm.easyeffects.Source.svg000066400000000000000000001010551460155372000242510ustar00rootroot00000000000000 Adwaita Icon Template Adwaita Icon Template Hicolor Symbolic Gnome Symbolic Icon Theme easyeffects-7.1.6/data/com.github.wwmm.easyeffects.desktop.in000066400000000000000000000006761460155372000243000ustar00rootroot00000000000000[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.6/data/com.github.wwmm.easyeffects.metainfo.xml.in000066400000000000000000001026311460155372000252220ustar00rootroot00000000000000 @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 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:
  • 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 EasyEffeects 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.6/data/com.github.wwmm.easyeffects.service.in000066400000000000000000000001201460155372000242470ustar00rootroot00000000000000[D-BUS Service] Name=@APP_ID@ Exec=@BIN_DIR@/easyeffects --gapplication-service easyeffects-7.1.6/data/com.github.wwmm.easyeffects.svg000066400000000000000000000034741460155372000230200ustar00rootroot00000000000000 easyeffects-7.1.6/data/easyeffects.gresource.xml000066400000000000000000000056221460155372000217670ustar00rootroot00000000000000 ui/custom.css ui/application_window.ui ui/app_info.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_impulses.ui ui/convolver_menu_combine.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_node_dropdown.ui ui/factory_input_device_dropdown.ui ui/factory_modules_listview.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/presets_menu.ui ui/reverb.ui ui/rnnoise.ui ui/shortcuts.ui ui/speex.ui ui/stereo_tools.ui icons/scalable/emblems/ee-arrow-down-symbolic.svg icons/scalable/emblems/ee-spectrum-symbolic.svg icons/scalable/emblems/ee-drag-handle-symbolic.svg icons/scalable/emblems/ee-arrows-right-symbolic.svg icons/scalable/emblems/ee-bypass-symbolic.svg icons/scalable/emblems/ee-applications-multimedia-symbolic.svg easyeffects-7.1.6/data/icons/000077500000000000000000000000001460155372000160555ustar00rootroot00000000000000easyeffects-7.1.6/data/icons/scalable/000077500000000000000000000000001460155372000176235ustar00rootroot00000000000000easyeffects-7.1.6/data/icons/scalable/emblems/000077500000000000000000000000001460155372000212475ustar00rootroot00000000000000easyeffects-7.1.6/data/icons/scalable/emblems/credits.txt000066400000000000000000000013061460155372000234450ustar00rootroot00000000000000- Icons I have made: ee-spectrum-symbolic - Icons I did not make: ee-arrow-down-symbolic is the icon "folder-download-symbolic" from the Adwaita package 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 easyeffects-7.1.6/data/icons/scalable/emblems/ee-applications-multimedia-symbolic.svg000066400000000000000000000024471460155372000310230ustar00rootroot00000000000000 easyeffects-7.1.6/data/icons/scalable/emblems/ee-arrow-down-symbolic.svg000066400000000000000000000014551460155372000263020ustar00rootroot00000000000000easyeffects-7.1.6/data/icons/scalable/emblems/ee-arrows-right-symbolic.svg000066400000000000000000000012241460155372000266250ustar00rootroot00000000000000 easyeffects-7.1.6/data/icons/scalable/emblems/ee-bypass-symbolic.svg000066400000000000000000000023341460155372000255010ustar00rootroot00000000000000 easyeffects-7.1.6/data/icons/scalable/emblems/ee-drag-handle-symbolic.svg000066400000000000000000000011601460155372000263420ustar00rootroot00000000000000easyeffects-7.1.6/data/icons/scalable/emblems/ee-spectrum-symbolic.svg000066400000000000000000000030561460155372000260440ustar00rootroot00000000000000 easyeffects-7.1.6/data/meson.build000066400000000000000000000104241460155372000171050ustar00rootroot00000000000000schemadir = 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.6/data/presets/000077500000000000000000000000001460155372000164275ustar00rootroot00000000000000easyeffects-7.1.6/data/presets/gstreamer_ballad.json000066400000000000000000000046611460155372000226210ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_classic.json000066400000000000000000000046551460155372000230260ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_club.json000066400000000000000000000046511460155372000223260ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_dance.json000066400000000000000000000046601460155372000224530ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_more_bass.json000066400000000000000000000046661460155372000233610ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_more_bass_and_treble.json000066400000000000000000000050371460155372000255310ustar00rootroot00000000000000 { "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.6/data/presets/gstreamer_party.json000066400000000000000000000046471460155372000225450ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_pop.json000066400000000000000000000046701460155372000222000ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_reggae.json000066400000000000000000000046561460155372000226400ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_rock.json000066400000000000000000000046611460155372000223400ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_ska.json000066400000000000000000000046571460155372000221650ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_soft.json000066400000000000000000000046561460155372000223610ustar00rootroot00000000000000{ "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.6/data/presets/gstreamer_techno.json000066400000000000000000000046571460155372000226670ustar00rootroot00000000000000{ "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.6/data/presets/ziyad_perfecteq.json000066400000000000000000000045741460155372000225120ustar00rootroot00000000000000 { "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.6/data/schemas/000077500000000000000000000000001460155372000163655ustar00rootroot00000000000000easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.autogain.gschema.xml000066400000000000000000000030531460155372000276510ustar00rootroot00000000000000 false 0 0 -23 false "Geometric Mean (MSI)" 15 -70 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.bassenhancer.gschema.xml000066400000000000000000000024341460155372000305000ustar00rootroot00000000000000 false 0 0 0 8.5 100 20 0 false false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.bassloudness.gschema.xml000066400000000000000000000017021460155372000305460ustar00rootroot00000000000000 false 0 0 -3.1 -6 -9.1 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.compressor.gschema.xml000066400000000000000000000130001460155372000302270ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.convolver.gschema.xml000066400000000000000000000014331460155372000300570ustar00rootroot00000000000000 false 0 0 "" 100 true easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.crossfeed.gschema.xml000066400000000000000000000013411460155372000300150ustar00rootroot00000000000000 false 0 0 700 4.5 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.crystalizer.gschema.xml000066400000000000000000000111511460155372000304130ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.deepfilternet.gschema.xml000066400000000000000000000025061460155372000306760ustar00rootroot00000000000000 false 0 0 100 -10 30 20 0 0.02 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.deesser.gschema.xml000066400000000000000000000044061460155372000274770ustar00rootroot00000000000000 false 0 0 "RMS" "Wide" -18 3 15 0 6000 4500 0 12 1 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.delay.gschema.xml000066400000000000000000000026361460155372000271460ustar00rootroot00000000000000 false 0 0 -100 -100 0 0 0 0 false false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.echo_canceller.gschema.xml000066400000000000000000000016231460155372000307710ustar00rootroot00000000000000 false 0 0 100 -70 -70 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.equalizer.channel.gschema.xml000066400000000000000000001130561460155372000314570ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.equalizer.gschema.xml000066400000000000000000000026751460155372000300540ustar00rootroot00000000000000 false 32 "IIR" 0 0 false 0 0 0 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.exciter.gschema.xml000066400000000000000000000024421460155372000275060ustar00rootroot00000000000000 false 0 0 0 8.5 7500 16000 0 false false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.expander.gschema.xml000066400000000000000000000121551460155372000276530ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.filter.gschema.xml000066400000000000000000000062431460155372000273330ustar00rootroot00000000000000 false 0 0 2000 4.0 0.0 0 0 "Low-pass" "RLC (BT)" "IIR" "x1" easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.gate.gschema.xml000066400000000000000000000120041460155372000267560ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.gschema.xml000066400000000000000000000043201460155372000260410ustar00rootroot00000000000000 true false false "Presets" "Presets" false false 0 0 false false false true true 10 true 50 30 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.levelmeter.gschema.xml000066400000000000000000000003421460155372000302040ustar00rootroot00000000000000 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.libportal.gschema.xml000066400000000000000000000004311460155372000300270ustar00rootroot00000000000000 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.limiter.gschema.xml000066400000000000000000000107631460155372000275150ustar00rootroot00000000000000 false 0 0 "Herm Thin" "None" "None" 5 5 5 0 true 0 100 false 5 50 0 false "" easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.loudness.gschema.xml000066400000000000000000000032661460155372000277040ustar00rootroot00000000000000 false 0 0 "4096" "ISO226-2003" 0 false 6 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.maximizer.gschema.xml000066400000000000000000000015421460155372000300500ustar00rootroot00000000000000 false 0 0 25 0 0 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.multibandcompressor.gschema.xml000066400000000000000000000742101460155372000321410ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.multibandgate.gschema.xml000066400000000000000000000677311460155372000306770ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.outputlevel.gschema.xml000066400000000000000000000003411460155372000304270ustar00rootroot00000000000000 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.pitch.gschema.xml000066400000000000000000000027021460155372000271510ustar00rootroot00000000000000 false 0 0 0.0 false false 40 15 8 0 0 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.reverb.gschema.xml000066400000000000000000000037261460155372000273360ustar00rootroot00000000000000 false 0 0 "Large" 1.5 5000 0.5 -12 0 0 300 5000 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.rnnoise.gschema.xml000066400000000000000000000020341460155372000275150ustar00rootroot00000000000000 false 0 0 "" false 50 0.0 20.0 easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.spectrum.gschema.xml000066400000000000000000000034431460155372000277070ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.speex.gschema.xml000066400000000000000000000024061460155372000271670ustar00rootroot00000000000000 false 0 0 true -70 false false 95 90 false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.stereotools.gschema.xml000066400000000000000000000060561460155372000304320ustar00rootroot00000000000000 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.6/data/schemas/com.github.wwmm.easyeffects.streaminputs.gschema.xml000066400000000000000000000014401460155372000305760ustar00rootroot00000000000000 [] true "" 50 [] false easyeffects-7.1.6/data/schemas/com.github.wwmm.easyeffects.streamoutputs.gschema.xml000066400000000000000000000014441460155372000310030ustar00rootroot00000000000000 [] true "" 50 [] false easyeffects-7.1.6/data/ui/000077500000000000000000000000001460155372000153575ustar00rootroot00000000000000easyeffects-7.1.6/data/ui/app_info.ui000066400000000000000000000432521460155372000175170ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/application_window.ui000066400000000000000000000114131460155372000216100ustar00rootroot00000000000000
_Help app.help
_Reset Settings app.reset
_Preferences app.preferences _Shortcuts app.shortcuts _About Easy Effects app.about
_Quit app.quit
easyeffects-7.1.6/data/ui/apps_box.ui000066400000000000000000000030441460155372000175320ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/autogain.ui000066400000000000000000001345641460155372000175420ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/autoload_row.ui000066400000000000000000000121531460155372000204170ustar00rootroot00000000000000 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.6/data/ui/bass_enhancer.ui000066400000000000000000000762651460155372000205310ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/bass_loudness.ui000066400000000000000000000507631460155372000205750ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/blocklist_menu.ui000066400000000000000000000136041460155372000207340ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/chart.ui000066400000000000000000000003711460155372000170200ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/compressor.ui000066400000000000000000003256271460155372000201310ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/convolver.ui000066400000000000000000000657271460155372000177540ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/convolver_menu_combine.ui000066400000000000000000000145741460155372000224660ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/convolver_menu_impulses.ui000066400000000000000000000055311460155372000227040ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/crossfeed.ui000066400000000000000000000521161460155372000177000ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/crystalizer.ui000066400000000000000000000341151460155372000202750ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/crystalizer_band.ui000066400000000000000000000056501460155372000212630ustar00rootroot00000000000000 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.6/data/ui/custom.css000066400000000000000000000001121460155372000173750ustar00rootroot00000000000000.drag-listboxrow-icon { background: white; border: 1px solid black; } easyeffects-7.1.6/data/ui/deepfilternet.ui000066400000000000000000000710411460155372000205530ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/deesser.ui000066400000000000000000001267611460155372000173650ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/delay.ui000066400000000000000000000744551460155372000170330ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/echo_canceller.ui000066400000000000000000000512561460155372000206550ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/effects_box.ui000066400000000000000000000171161460155372000202130ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/equalizer.ui000066400000000000000000001205331460155372000177230ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/equalizer_band.ui000066400000000000000000000411551460155372000207110ustar00rootroot00000000000000 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 if-valid 10 10 24000 1 100 center edit-undo-symbolic Gain 2 center 2 if-valid 10 -36 36 0.01 1.0 center edit-undo-symbolic Quality 2 center 2 if-valid 10 100 0.01 0.1 center edit-undo-symbolic Width 2 center 2 if-valid 10 band_type 12 0.01 0.1 center edit-undo-symbolic easyeffects-7.1.6/data/ui/exciter.ui000066400000000000000000000762641460155372000174000ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/expander.ui000066400000000000000000003067751460155372000175460ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/factory_clients_listview.ui000066400000000000000000000145211460155372000230370ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_input_device_dropdown.ui000066400000000000000000000021311460155372000240340ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_modules_listview.ui000066400000000000000000000116451460155372000230520ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_node_dropdown.ui000066400000000000000000000024141460155372000223070ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_output_device_dropdown.ui000066400000000000000000000021211460155372000242340ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_presets_dropdown.ui000066400000000000000000000021141460155372000230440ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/factory_rnnoise_listview.ui000066400000000000000000000037121460155372000230530ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/filter.ui000066400000000000000000001137471460155372000172200ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/gate.ui000066400000000000000000003506261460155372000166520ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/level_meter.ui000066400000000000000000000606421460155372000202310ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/limiter.ui000066400000000000000000002057451460155372000174000ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/loudness.ui000066400000000000000000000557601460155372000175670ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/maximizer.ui000066400000000000000000000540021460155372000177240ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/multiband_compressor.ui000066400000000000000000001457111460155372000221620ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/multiband_compressor_band.ui000066400000000000000000001523731460155372000231500ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/multiband_gate.ui000066400000000000000000001456371460155372000207150ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/multiband_gate_band.ui000066400000000000000000001446161460155372000216750ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/pipe_manager_box.ui000066400000000000000000001407441460155372000212270ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/pitch.ui000066400000000000000000000740511460155372000170340ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/data/ui/plugin_row.ui000066400000000000000000000063241460155372000201100ustar00rootroot00000000000000 6 6 pointer start center ee-arrow-down-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 center 8 0 ee-drag-handle-symbolic grab easyeffects-7.1.6/data/ui/plugins_box.ui000066400000000000000000000163651460155372000202620ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/plugins_menu.ui000066400000000000000000000120071460155372000204230ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/preferences_general.ui000066400000000000000000000250221460155372000217150ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/preferences_spectrum.ui000066400000000000000000000314741460155372000221520ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/preferences_window.ui000066400000000000000000000003271460155372000216100ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/preset_row.ui000066400000000000000000000122401460155372000201060ustar00rootroot00000000000000 6 6 1 6 start center 1 Name end 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.6/data/ui/presets_menu.ui000066400000000000000000000210371460155372000204320ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/reverb.ui000066400000000000000000001207421460155372000172110ustar00rootroot00000000000000 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.6/data/ui/rnnoise.ui000066400000000000000000000772161460155372000174100ustar00rootroot00000000000000 horizontal easyeffects-7.1.6/data/ui/shortcuts.ui000066400000000000000000000041241460155372000177550ustar00rootroot00000000000000 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.6/data/ui/speex.ui000066400000000000000000000643471460155372000170600ustar00rootroot00000000000000 easyeffects-7.1.6/data/ui/stereo_tools.ui000066400000000000000000001772221460155372000204520ustar00rootroot00000000000000 horizontal horizontal easyeffects-7.1.6/debian/000077500000000000000000000000001460155372000152535ustar00rootroot00000000000000easyeffects-7.1.6/debian/changelog000066400000000000000000000002211460155372000171200ustar00rootroot00000000000000easyeffects (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.6/debian/control000066400000000000000000000015701460155372000166610ustar00rootroot00000000000000Source: 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.6/debian/copyright000066400000000000000000000032661460155372000172150ustar00rootroot00000000000000Format: 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.6/debian/rules000077500000000000000000000000361460155372000163320ustar00rootroot00000000000000#!/usr/bin/make -f %: dh $@ easyeffects-7.1.6/debian/source/000077500000000000000000000000001460155372000165535ustar00rootroot00000000000000easyeffects-7.1.6/debian/source/format000066400000000000000000000000141460155372000177610ustar00rootroot000000000000003.0 (quilt) easyeffects-7.1.6/debian/watch000066400000000000000000000002471460155372000163070ustar00rootroot00000000000000version=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.6/easyeffects.code-workspace000066400000000000000000000043631460155372000211700ustar00rootroot00000000000000{ "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.6/help/000077500000000000000000000000001460155372000147615ustar00rootroot00000000000000easyeffects-7.1.6/help/C/000077500000000000000000000000001460155372000151435ustar00rootroot00000000000000easyeffects-7.1.6/help/C/advancedinfo.page000066400000000000000000000013011460155372000204150ustar00rootroot00000000000000 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.6/help/C/autogain.page000066400000000000000000000112351460155372000176120ustar00rootroot00000000000000 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.6/help/C/bassenhancer.page000066400000000000000000000053141460155372000204400ustar00rootroot00000000000000 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.6/help/C/bassloudness.page000066400000000000000000000032271460155372000205120ustar00rootroot00000000000000 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.6/help/C/blocklist.page000066400000000000000000000014121460155372000177650ustar00rootroot00000000000000 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.6/help/C/compressor.page000066400000000000000000000316731460155372000202070ustar00rootroot00000000000000 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.6/help/C/convolver.page000066400000000000000000000050071460155372000200200ustar00rootroot00000000000000 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.6/help/C/crossfeed.page000066400000000000000000000044151460155372000177620ustar00rootroot00000000000000 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.6/help/C/crystalizer.page000066400000000000000000000031321460155372000203530ustar00rootroot00000000000000 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.6/help/C/deesser.page000066400000000000000000000103731460155372000174370ustar00rootroot00000000000000 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.6/help/C/delay.page000066400000000000000000000044621460155372000171050ustar00rootroot00000000000000 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.6/help/C/echocanceller.page000066400000000000000000000037121460155372000205730ustar00rootroot00000000000000 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.6/help/C/effectsorder.page000066400000000000000000000010111460155372000204450ustar00rootroot00000000000000 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.6/help/C/enableapp.page000066400000000000000000000023401460155372000177270ustar00rootroot00000000000000 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.6/help/C/equalizer.page000066400000000000000000000250011460155372000200000ustar00rootroot00000000000000 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.6/help/C/exciter.page000066400000000000000000000052561460155372000174540ustar00rootroot00000000000000 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.6/help/C/filter.page000066400000000000000000000035651460155372000172770ustar00rootroot00000000000000 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.6/help/C/gate.page000066400000000000000000000267461460155372000167400ustar00rootroot00000000000000 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.6/help/C/general.page000066400000000000000000000066051460155372000174250ustar00rootroot00000000000000 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.6/help/C/guide_1.page000066400000000000000000000620341460155372000173230ustar00rootroot00000000000000 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.6/help/C/index.page000066400000000000000000000034571460155372000171210ustar00rootroot00000000000000 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.6/help/C/limiter.page000066400000000000000000000174751460155372000174640ustar00rootroot00000000000000 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.6/help/C/loudness.page000066400000000000000000000113661460155372000176440ustar00rootroot00000000000000 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.6/help/C/maximizer.page000066400000000000000000000046141460155372000200130ustar00rootroot00000000000000 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.6/help/C/multibandcompressor.page000066400000000000000000000412561460155372000221050ustar00rootroot00000000000000 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.6/help/C/multibandgate.page000066400000000000000000000351311460155372000206240ustar00rootroot00000000000000 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.6/help/C/pipewire.page000066400000000000000000000036531460155372000176340ustar00rootroot00000000000000 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.6/help/C/pitch.page000066400000000000000000000157031460155372000171160ustar00rootroot00000000000000 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.6/help/C/reverb.page000066400000000000000000000067011460155372000172720ustar00rootroot00000000000000 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.6/help/C/rnnoise.page000066400000000000000000000030151460155372000174550ustar00rootroot00000000000000 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.6/help/C/saturated.page000066400000000000000000000012501460155372000177730ustar00rootroot00000000000000 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.6/help/C/settingsmenu.page000066400000000000000000000004371460155372000205320ustar00rootroot00000000000000 Settings Menu easyeffects-7.1.6/help/C/spectrum.page000066400000000000000000000046771460155372000176610ustar00rootroot00000000000000 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.6/help/C/speex.page000066400000000000000000000017351460155372000171330ustar00rootroot00000000000000 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.6/help/C/stereotools.page000066400000000000000000000131561460155372000203710ustar00rootroot00000000000000 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.6/help/C/testsignals.page000066400000000000000000000023201460155372000203360ustar00rootroot00000000000000 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.6/help/C/userpresets.page000066400000000000000000000016501460155372000203670ustar00rootroot00000000000000 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.6/help/meson.build000066400000000000000000000016401460155372000171240ustar00rootroot00000000000000itstool = 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', '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.6/images/000077500000000000000000000000001460155372000152765ustar00rootroot00000000000000easyeffects-7.1.6/images/appdata-screenshot-01.png000066400000000000000000001412231460155372000220120ustar00rootroot00000000000000PNG  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.6/images/appdata-screenshot-02.png000066400000000000000000002066421460155372000220220ustar00rootroot00000000000000PNG  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.6/images/appdata-screenshot-04.png000066400000000000000000001601501460155372000220150ustar00rootroot00000000000000PNG  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.6/images/convolver.png000066400000000000000000003135631460155372000200340ustar00rootroot00000000000000PNG  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.6/images/easyeffects-dark-screenshot-1.png000066400000000000000000004164501460155372000235470ustar00rootroot00000000000000PNG  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.6/images/easyeffects-dark-screenshot-3.png000066400000000000000000005222421460155372000235460ustar00rootroot00000000000000PNG  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.6/images/easyeffects-light-screenshot-1.png000066400000000000000000004203251460155372000237310ustar00rootroot00000000000000PNG  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.6/images/easyeffects-light-screenshot-2.png000066400000000000000000004347751460155372000237500ustar00rootroot00000000000000PNG  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.6/images/easyeffects-light-screenshot-3.png000066400000000000000000005230251460155372000237340ustar00rootroot00000000000000PNG  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.6/images/easyeffects_players.png000066400000000000000000002426301460155372000220530ustar00rootroot00000000000000PNG  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.6/util/update_translation_templates.sh000077500000000000000000000002021460155372000233150ustar00rootroot00000000000000#!/usr/bin/env bash ninja easyeffects-pot ninja easyeffects-update-po ninja easyeffects-news-pot ninja easyeffects-news-update-poeasyeffects-7.1.6/util/valgrind.txt000066400000000000000000000002401460155372000173510ustar00rootroot00000000000000valgrind --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.6/images/easyeffects_plugins.png000066400000000000000000002426211460155372000220550ustar00rootroot00000000000000PNG  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.6/include/000077500000000000000000000000001460155372000154545ustar00rootroot00000000000000easyeffects-7.1.6/include/app_info.hpp000066400000000000000000000027441460155372000177670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/application.hpp000066400000000000000000000033501460155372000204710ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/application_ui.hpp000066400000000000000000000022421460155372000211650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/apps_box.hpp000066400000000000000000000024031460155372000177770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/autogain.hpp000066400000000000000000000053711460155372000200020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/autogain_preset.hpp000066400000000000000000000021171460155372000213570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/autogain_ui.hpp000066400000000000000000000023751460155372000205000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/bass_enhancer.hpp000066400000000000000000000032631460155372000207640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/bass_enhancer_preset.hpp000066400000000000000000000021261460155372000223430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/bass_enhancer_ui.hpp000066400000000000000000000024651460155372000214640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/bass_loudness.hpp000066400000000000000000000031031460155372000210260ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/bass_loudness_preset.hpp000066400000000000000000000021261460155372000224140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/bass_loudness_ui.hpp000066400000000000000000000024651460155372000215350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/blocklist_menu.hpp000066400000000000000000000024121460155372000211760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/chart.hpp000066400000000000000000000042221460155372000172660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/client_info_holder.hpp000066400000000000000000000024321460155372000220140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/compressor.hpp000066400000000000000000000041411460155372000203610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/compressor_preset.hpp000066400000000000000000000021231460155372000217410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/compressor_ui.hpp000066400000000000000000000025431460155372000210620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/convolver.hpp000066400000000000000000000064111460155372000202040ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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; private: 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.6/include/convolver_menu_combine.hpp000066400000000000000000000025371460155372000227310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/convolver_menu_impulses.hpp000066400000000000000000000030371460155372000231520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/convolver_preset.hpp000066400000000000000000000021211460155372000215600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/convolver_ui.hpp000066400000000000000000000025441460155372000207040ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/convolver_ui_common.hpp000066400000000000000000000020231460155372000222440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/crossfeed.hpp000066400000000000000000000031601460155372000201420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/crossfeed_preset.hpp000066400000000000000000000021211460155372000215200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/crossfeed_ui.hpp000066400000000000000000000024111460155372000206350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/crystalizer.hpp000066400000000000000000000163751460155372000205540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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 > 0 && m < blocksize - 1) { 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 + 1]; const float& R_upper = band_data_R.at(n)[m + 1]; 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 - 1) { 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 - 1]; band_last_R.at(n) = band_data_R.at(n)[blocksize - 1]; } } // 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.6/include/crystalizer_preset.hpp000066400000000000000000000021251460155372000221220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/crystalizer_ui.hpp000066400000000000000000000024411460155372000212360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/deepfilternet.hpp000066400000000000000000000037631460155372000210300ustar00rootroot00000000000000/* * 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); 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.6/include/deepfilternet_preset.hpp000066400000000000000000000021201460155372000223740ustar00rootroot00000000000000/* * 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.6/include/deepfilternet_ui.hpp000066400000000000000000000024601460155372000215160ustar00rootroot00000000000000/* * 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.6/include/deesser.hpp000066400000000000000000000032011460155372000176130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/deesser_preset.hpp000066400000000000000000000021151460155372000212000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/deesser_ui.hpp000066400000000000000000000023611460155372000203160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/delay.hpp000066400000000000000000000027761460155372000172770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/delay_preset.hpp000066400000000000000000000021111460155372000206400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/delay_ui.hpp000066400000000000000000000023311460155372000177570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/echo_canceller.hpp000066400000000000000000000047171460155372000211240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/echo_canceller_preset.hpp000066400000000000000000000021311460155372000224720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/echo_canceller_ui.hpp000066400000000000000000000025011460155372000216060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/effects_base.hpp000066400000000000000000000100601460155372000205730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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; 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.6/include/effects_box.hpp000066400000000000000000000024721460155372000204610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/equalizer.hpp000066400000000000000000000071011460155372000201650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/equalizer_band_box.hpp000066400000000000000000000024111460155372000220200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/equalizer_preset.hpp000066400000000000000000000033551460155372000215560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/equalizer_ui.hpp000066400000000000000000000025441460155372000206700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/exciter.hpp000066400000000000000000000031171460155372000176320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/exciter_preset.hpp000066400000000000000000000021151460155372000212110ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/exciter_ui.hpp000066400000000000000000000023611460155372000203270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/expander.hpp000066400000000000000000000041051460155372000177730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/expander_preset.hpp000066400000000000000000000021171460155372000213560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/expander_ui.hpp000066400000000000000000000024521460155372000204730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/filter.hpp000066400000000000000000000027241460155372000174570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/filter_preset.hpp000066400000000000000000000021131460155372000210310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/filter_ui.hpp000066400000000000000000000023451460155372000201530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/fir_filter_bandpass.hpp000066400000000000000000000023301460155372000221630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/fir_filter_base.hpp000066400000000000000000000056561460155372000213200ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/fir_filter_highpass.hpp000066400000000000000000000023301460155372000221760ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/fir_filter_lowpass.hpp000066400000000000000000000023151460155372000220630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/gate.hpp000066400000000000000000000043761460155372000171170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/gate_preset.hpp000066400000000000000000000021071460155372000204670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/gate_ui.hpp000066400000000000000000000023721460155372000176060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/ladspa_wrapper.hpp000066400000000000000000000255221460155372000211770ustar00rootroot00000000000000/* * 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.6/include/level_meter.hpp000066400000000000000000000046401460155372000204740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/level_meter_preset.hpp000066400000000000000000000021231460155372000220500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/level_meter_ui.hpp000066400000000000000000000024351460155372000211710ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/libportal.hpp000066400000000000000000000017361460155372000201640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/limiter.hpp000066400000000000000000000040551460155372000176360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/limiter_preset.hpp000066400000000000000000000021151460155372000212130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/limiter_ui.hpp000066400000000000000000000024361460155372000203340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/loudness.hpp000066400000000000000000000031001460155372000200130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/loudness_preset.hpp000066400000000000000000000021171460155372000214040ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/loudness_ui.hpp000066400000000000000000000023751460155372000205250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/lv2_wrapper.hpp000066400000000000000000000234671460155372000204440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/maximizer.hpp000066400000000000000000000032761460155372000202020ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/maximizer_preset.hpp000066400000000000000000000021211460155372000215500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/maximizer_ui.hpp000066400000000000000000000024111460155372000206650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/module_info_holder.hpp000066400000000000000000000025141460155372000220240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_compressor.hpp000066400000000000000000000130001460155372000224120ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/multiband_compressor_band_box.hpp000066400000000000000000000033151460155372000242560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_compressor_preset.hpp000066400000000000000000000023551460155372000240070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_compressor_ui.hpp000066400000000000000000000027271460155372000231250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_gate.hpp000066400000000000000000000124761460155372000211560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/multiband_gate_band_box.hpp000066400000000000000000000030531460155372000230010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_gate_preset.hpp000066400000000000000000000023251460155372000225300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/multiband_gate_ui.hpp000066400000000000000000000026171460155372000216470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/node_info_holder.hpp000066400000000000000000000026641460155372000214720ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/output_level.hpp000066400000000000000000000030521460155372000207140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/pipe_manager.hpp000066400000000000000000000126061460155372000206210ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/pipe_manager_box.hpp000066400000000000000000000023271460155372000214700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/pipe_objects.hpp000066400000000000000000000061641460155372000206420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/pipeline_type.hpp000066400000000000000000000014531460155372000210360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/pitch.hpp000066400000000000000000000047331460155372000173030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/pitch_preset.hpp000066400000000000000000000021111460155372000206510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/pitch_ui.hpp000066400000000000000000000023311460155372000177700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/plugin_base.hpp000066400000000000000000000111611460155372000204550ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 "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, 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; 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; 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.6/include/plugin_preset_base.hpp000066400000000000000000000115221460155372000220400ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/plugins_box.hpp000066400000000000000000000023171460155372000205210ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/plugins_menu.hpp000066400000000000000000000023701460155372000206740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/preferences_general.hpp000066400000000000000000000023031460155372000221610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/preferences_spectrum.hpp000066400000000000000000000022221460155372000224060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/preferences_window.hpp000066400000000000000000000022041460155372000220530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/preset_type.hpp000066400000000000000000000014511460155372000205310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/presets_autoloading_holder.hpp000066400000000000000000000030101460155372000235670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/presets_manager.hpp000066400000000000000000000115631460155372000213520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 }; // signal sending title and description strings sigc::signal preset_load_error; auto get_names(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_preset_file(const PresetType& preset_type, const std::string& name) -> bool; auto read_plugins_preset(const PresetType& preset_type, const std::vector& plugins, const nlohmann::json& json) -> bool; void import(const PresetType& preset_type, const std::string& file_path); 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: const std::string json_ext = ".json"; std::string user_config_dir; std::filesystem::path user_presets_dir, user_input_dir, user_output_dir, autoload_input_dir, autoload_output_dir; 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); 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.6/include/presets_menu.hpp000066400000000000000000000023621460155372000207010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/resampler.hpp000066400000000000000000000041661460155372000201660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/reverb.hpp000066400000000000000000000027241460155372000174570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/reverb_preset.hpp000066400000000000000000000021131460155372000210310ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/reverb_ui.hpp000066400000000000000000000023451460155372000201530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/rnnoise.hpp000066400000000000000000000125011460155372000176410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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(); #ifndef ENABLE_RNNOISE bool package_installed = false; #endif bool standard_model = true; sigc::signal model_changed; private: 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_file() -> 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.6/include/rnnoise_preset.hpp000066400000000000000000000021151460155372000212230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/rnnoise_ui.hpp000066400000000000000000000025141460155372000203410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/spectrum.hpp000066400000000000000000000036601460155372000200340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/speex.hpp000066400000000000000000000037661460155372000173250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/speex_preset.hpp000066400000000000000000000021111460155372000206660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/speex_ui.hpp000066400000000000000000000024231460155372000200070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/stereo_tools.hpp000066400000000000000000000031751460155372000207140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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); 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.6/include/stereo_tools_preset.hpp000066400000000000000000000021251460155372000222700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/stereo_tools_ui.hpp000066400000000000000000000024511460155372000214050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/stream_input_effects.hpp000066400000000000000000000030721460155372000224000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/stream_output_effects.hpp000066400000000000000000000030271460155372000226010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/string_literal_wrapper.hpp000066400000000000000000000021631460155372000227510ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_app.hpp000066400000000000000000000022261460155372000177650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_equalizer.hpp000066400000000000000000000370761460155372000212210ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_multiband_compressor.hpp000066400000000000000000000460721460155372000234470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_multiband_gate.hpp000066400000000000000000000453621460155372000221740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_pipewire.hpp000066400000000000000000000027071460155372000210350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_plugin_name.hpp000066400000000000000000000066261460155372000215130ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/tags_resources.hpp000066400000000000000000000127611460155372000212240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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"; // 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 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.6/include/tags_schema.hpp000066400000000000000000000242021460155372000204430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/test_signals.hpp000066400000000000000000000046031460155372000206670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/include/ui_helpers.hpp000066400000000000000000000172521460155372000203330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) -> bool; auto parse_spinbutton_input(GtkSpinButton* button, double* new_value, const bool& lower_bound = true) -> int; 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))); return g_variant_new_string(g_settings_get_string(d->settings, d->key)); }, new Data({.settings = settings, .key = key}), +[](gpointer user_data) { auto* d = static_cast(user_data); delete d; }); } } // namespace ui easyeffects-7.1.6/include/util.hpp000066400000000000000000000213541460155372000171470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; 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"); 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.6/meson.build000066400000000000000000000066661460155372000162110ustar00rootroot00000000000000project( '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.6', 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') system_presets_dir = join_paths(datadir, meson.project_name() + '/presets') system_irs_dir = join_paths(datadir, meson.project_name() + '/irs') system_rnnoise_dir = join_paths(datadir, meson.project_name() + '/rnnoise') 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('SYSTEM_PRESETS_DIR', system_presets_dir) conf.set_quoted('SYSTEM_IRS_DIR', system_irs_dir) conf.set_quoted('SYSTEM_RNNOISE_DIR', system_rnnoise_dir) 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') install_emptydir(system_presets_dir) install_emptydir(system_irs_dir) install_emptydir(system_rnnoise_dir) gnome_mod.post_install( glib_compile_schemas: true, gtk_update_icon_cache: true, update_desktop_database: true, ) message('\n '.join(status)) easyeffects-7.1.6/meson_options.txt000066400000000000000000000017561460155372000174770ustar00rootroot00000000000000option( '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.6/po/000077500000000000000000000000001460155372000144475ustar00rootroot00000000000000easyeffects-7.1.6/po/LINGUAS000066400000000000000000000002061460155372000154720ustar00rootroot00000000000000cs 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 easyeffects-7.1.6/po/POTFILES.in000066400000000000000000000035171460155372000162320ustar00rootroot00000000000000data/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/deesser.ui data/ui/delay.ui data/ui/deepfilternet.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/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_menu.cpp src/presets_manager.cpp src/rnnoise_ui.cpp src/speex_ui.cpp src/tags_plugin_name.cpp src/ui_helpers.cpp easyeffects-7.1.6/po/af.po000066400000000000000000001551651460155372000154120ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "EasyEffects" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, 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.6/po/bg.po000066400000000000000000001610561460155372000154100ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "Промени силата на звука на тази програма" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Тишина" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Справка" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Моментално" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Краткосрочен" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Интегриран" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Средно аритметично (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Средно аритметично (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Средно аритметично (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Средно аритметично (SI)" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Нулиране" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Относително" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Диапазон" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Изходен gain" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Вход" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Входен gain на добавка" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Изход" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Изходен gain на добавка" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "Име" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профил" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Хармоници" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Обхват" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Под" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Минимална стойност" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Надолу" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Нагоре" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Подсилване" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Компресионен режим" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Праг на подсилване" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Време" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Праг" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Съотношение" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Сухо ниво" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Странична верига" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Източник" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "По средата" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Странично" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Наляво" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Надясно" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Надясно" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Надясно" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Странично" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Странично" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Връх" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Режим на странична верига" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Странична верига" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Обратна връзка" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Външно" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Тип странична връзка" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Входно устройство" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Филтри на странична верига" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Честота" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Изключено" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Крива" #: data/ui/convolver.ui:40 msgid "L" msgstr "Л" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "Ляв канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "Д" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Спектър" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Предварително задаване" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Справка" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Справка" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Предварително задаване" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Профили" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Списък на изключени приложения" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" 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.6/po/ca.po000066400000000000000000001530651460155372000154040ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "" #: 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:270 msgid "Change the volume of this application" msgstr "Canvia el volum d'aquesta aplicació" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.6/po/cs.po000066400000000000000000002370671460155372000154330ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Předvolby\"" #: 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:270 msgid "Change the volume of this application" msgstr "Změnit hlasitost této aplikace" #: data/ui/app_info.ui:272 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 "" #: data/ui/application_window.ui:59 data/ui/crossfeed.ui:27 #: data/ui/reverb.ui:25 src/presets_menu.cpp:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Ticho" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Maximální historie" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Reference" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Chvilkové" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kratokodobě" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrovaná" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrický průměr (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrický průměr (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrický průměr (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrický průměr (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Vymazat Historii" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Vrátit na výchozí" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativní" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rozsah" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Výstupní zesílení" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Vstup" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Vstupní zesílení pluginu" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Výstup" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Výstupní zesílení pluginu" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonické kmity" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Rozsah" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Spodní mez" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Spodní hodnota" #: data/ui/bass_loudness.ui:71 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:283 #: 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 "Zavřít 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Režim" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Dolů" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Nahoru" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Zesílení" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Kompresní režim" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Práh zesílení" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Velikost zesílení" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Náběh" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Čas" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Práh" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Náběh" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Práh attacku" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Uvolnění" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Uvolnění" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Práh release" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Poměr" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Přechod" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Pozvednutí" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Dry Level" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Wet Level" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Postranní řetězec" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Zdroj" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Střední" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Postranní" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Levý" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Pravý" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Maximum" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Zdroj sidechain" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Zpoždění Levá/Pravá" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Pravý" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Postranní" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Postranní" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Výchozí zdroj" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Vrchol" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Nízkofrekvenční filtr" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Jednoduchý klouzavý průměr" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Režim sidechain" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Externí postranní řetězec" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Kanál-zpět" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externí" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Druh sidechain" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Vstupní zařízení" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Předzesílení" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktivita" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Výhled" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Filtry sidechain" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "High-Pass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Kmitočet" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Vypnuto" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Režim vysokopásmového filtru" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Filtr vysokého kmitočtu" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Dolní pásmo" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Režim filtrování nízkých frekvencí" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Zesílení" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Obálka" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 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:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Logaritmické měřítko" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autogain" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Kmitočet" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Vzorky" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Ztlumit" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekvence 1 split" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Vrchol" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frekvence 2 vrchol" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Zesílení" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frekvence 1 zvýšení" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Úroveň" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frekvence 2 level" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Vrchol Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frekvence 2 vrchol Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Nedbalost" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Zjištěno" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Snížení" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Zpoždění" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Obrátit fázi" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Délka filtru" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Délka filtru" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Potlačení zbytkové ozvěny" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Vyvážení" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Pitch levá" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Pitch Pravá" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Rozdělit kanály" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Uhladit" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Vypočítat Kmitočty" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Pásma" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importovat přednastavení" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importovat přednastavení" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Sklon" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Sólo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Jakost" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Šířka" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Strop" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zóna" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Hystereze" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Začátek zóny attacku" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Předzesílení postranního řetězce" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Zesílení" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Spojení sterea" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Externí postranní řetězec" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Automatické vyrovnávání" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatické Úrovně" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Levé zesílení" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Pravé zesílení" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Levý postranní řetězec" #: data/ui/limiter.ui:714 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:104 #, fuzzy msgid "Clipping" msgstr "Přiřazení kanálu" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Strop" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Seznam pásem" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Pásmo 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Pásmo 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Pásmo 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Pásmo 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Pásmo 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Pásmo 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Pásmo 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Konec pásma" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Kompresní režim pásem" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Překlenutí" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Možnosti postranního řetězce" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereo režim" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Nízkopásmový filtr" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Frekvence nízkopásmového filtru" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Vysokopásmový filtr" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Frekvence vysokopásmového filtru" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Předzesilovač" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Pásmové zesílení" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Pásmová obálka" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Pásmová křivka" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Výstupní zařízení" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Profily pro výstup" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Vytvořit asociaci" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Přidat automatické načítání přednastavení výstupu" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Seznam automaticky načítaných profilů pro výstup" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Vstupní zařízení" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Profily pro vstup" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Přidat automatické načítání přednastavení vstupu" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Seznam automaticky načítaných profilů pro vstup" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Seznam modulů" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "seznam klientů" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testovací signál" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stav" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Povoleno" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Vlastnosti" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Oba kanály" #: data/ui/pipe_manager_box.ui:581 #, fuzzy msgid "Waveform" msgstr "forma vlny" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusová vlna" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Délka filtru" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Výška tónu" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Půltóny" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Reference" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Reference" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Odstranit tento efekt" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Povolit/zakázat tento efekt" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Změna pozice tohoto efektu" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Přidat efekt" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Seznam použitých pluginů" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Žádné efekty" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Styl" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Použít tmavý vzhled" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Skrýt menu při kliknutí vedle" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Pokusný" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Zavřít okno" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Výška" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Šířka čáry" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Výplň" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Ukázat hranici pásem" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Zaoblené rohy" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Barva" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "čáry a pásma" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "štítky os" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Rozsah frekvence" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Nejvýše" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Načíst" #: data/ui/preset_row.ui:38 #, 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:47 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:57 msgid "Remove this preset file" msgstr "Odstranit tento soubor s přednastavením" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Název nového profilu pro vstup" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Vytvořit nové přednastavení" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "importovat přednastavení" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Hledat profil pro vstup" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Hledat profil pro vstup" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Tlumení vysokého kmitočtu" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Velikost prostoru" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Malý" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Střední" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Velký" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Chodba" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Velký/plynulý" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Pokusný" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Rozptylování" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Předzpoždění" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Čas dozvuku" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Ořezání hloubek" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Ořezání výšek" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Okolní prostředí" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Prázdné zdi" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Pokoj" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Velký prázdný sál" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standardní model" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Seznam RNNoise modelů" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Model nenačtený" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktivní model" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Pokračovat" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Potlačení šumu" #: data/ui/speex.ui:147 msgid "Level" msgstr "Úroveň" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Vstupní vyvážení" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Úroveň softclipu" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matrice sterea" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LP > LP (výchozí stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LP > SS (stereo ke střední straně)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "SS > LP (střední strana ke stereu)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LP > LL (mono levý kanál)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LP > PP (mono pravý kanál)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LP > L+P (mono součet L+P)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (stereo obrácení kanálů)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereo režim" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Postranní úroveň" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Postranní vyvážení" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Prostřední úroveň" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Prostřední panorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Výstupní bilance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Zpoždění L/P" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Zpoždění Levá/Pravá" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Základ sterea" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Obnovit EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Skrýt Okno." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Ukázat dostupná přednastavení." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Soubor není standardní" #: src/convolver_menu_impulses.cpp:128 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:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Podporovány jsou pouze Stereo Impulse soubory" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Impulse soubor nebyl importován" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Zavést soubor s impulsem" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otevřít" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Odpověď impulsu" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Načíst Impulse" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Odstranit Impuls" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Impulse soubor nebyl načten" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Nepodařilo se nahrát Impulse soubor" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Záznamníky" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Přehrávače" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efekty" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importovat přednastavený soubor APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO Přednastavení" #: src/equalizer_ui.cpp:486 #, 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:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importovat přednastavený soubor APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO Přednastavení" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importovat soubor přednastavení GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Přednastavení GraphicEQ" #: src/equalizer_ui.cpp:767 #, 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Výstupní zařízení" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Odstranit" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Výstupní zařízení" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Přidat" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Seznam vyloučených aplikací" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "" #: 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 "" #: 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Použití" #~ 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 "Search Output Preset" #~ msgstr "Hledat profil pro výstup" #~ msgid "Output Presets List" #~ msgstr "Seznam profilů 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" #, 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í" #~ 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 "Dry" #~ msgstr "Zkušební" #~ 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.6/po/da.po000066400000000000000000002221041460155372000153740ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Forindstillinger\"" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 #, fuzzy msgid "Silence" msgstr "Stemning" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Maksimum" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Hanvisning" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Øjeblikkelig" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kortfristet" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integreret" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Geometrisk Gennemsnit" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Nustil historie" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Nustil" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rækkevidde" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Udgangsforstærkning" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Indgang" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Plugin-Indgangsforstærkning" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Udgang" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Plugin-Udgangsforstærkning" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonik" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Gulv" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Gulvværdi" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Tilstand" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Nedadrettet" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Opadrettet" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Øge" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Kompressortilstand" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Øg Grænseværdi" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Øgningsbeløb" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Angreb" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Grænseværdi" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Angrebstid" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Angreb Grænseværdi" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Frigør" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Frigøringstid" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Grænseværdi af Frigivelse" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Knæ" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Makeup" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "TørNiveau" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Vådniveau" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidekæde" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Kilde" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Midte" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Højre" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Maksimum" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Sidekæde Kilde" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Forsinkelse Venstre Højre" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Højre" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Side" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Side" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Stereotilstand" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Top" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Lavpasfiltertilstand" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Sidekæde-tilstand" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Ekstern Sidekæde" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Fremadrettet" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Tilbagemelding" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Sidekæde Type" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Input-enhed" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Forforstærkning" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktivitet" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Fremadskuen" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Sidekæde Filter" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Højpas" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Slukket" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Højpasfiltertilstand" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Højpasfilterfrekvens" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Lavpas" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Lavpasfiltertilstand" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Konvolut" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Rate" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Prøver" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Stum" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekvens 1 Opdeling" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Top" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frekvens 2 Top" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Gain" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frekvens 1 Gain" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Niveau" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frekvens 2 Niveau" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Top Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 Top Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Lakshed" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detektet" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Reduktion" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 #, fuzzy msgid "Delay" msgstr "Pre Forsinkelse" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverter Fase" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlængde" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlængde" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Reduktion" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Sidekæde Venstre" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Sidekæde Højre" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Opdel kanaler" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Flad Respons" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Beregn Frekvenser" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Bånd" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Import Forudindstilling" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Import Forudindstilling" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Hældning" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Bredde" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Ceil" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Sidekæde Forforstærkning" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereoforbindelse" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Ekstern Sidekæde" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Auto-Nivellering" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Auto-Nivelleringsangreb" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Auto-Nivelleringsudløse" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Auto-Nivellering Knæ" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Gain Venstre" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Gain Højre" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidekæde Venstre" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Loft" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Båndsliste" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Bånd 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Bånd 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Bånd 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Bånd 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Bånd 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Bånd 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Bånd 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Bånd Slut" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Bånd Kompressionstilstand" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bånd Omgåelse" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Bånd Sidekæde Valgmuligheder" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereotilstand" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Lavskåret Filter" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Lavskåret Filter Frekvens" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Højskåret Filter" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Højskåret Filter Frekvens" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "PræAmp" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Bånd Gain" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Bånd Konvolut" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Bånd Kurve" #: data/ui/multiband_gate_band.ui:850 #, 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:254 msgid "Output Devices" msgstr "Udgangsenheder" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Udgangsforindstillinger" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Skab Associering" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Tilføj Autolæsning Udgangsforindstilling" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Udgangsautolæsingsforindstillinger Liste" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Indgangsenheder" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Indgangsforindstillinger" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Tilføj Autolæsning Indgangsforindstilling" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Indgangsautolæsingsforindstillinger Liste" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduler" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Liste over moduler" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klienter" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Liste over klienter" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Test-Signal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Tilstand" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiveret" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Begge" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Begge Kanaler" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Bølgeform" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusbølge" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Skjul Vinduet." #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filterlængde" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitoner" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Hanvisning" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Hanvisning" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modelfil" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Liste over Anvendte Plugins" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "Easyeffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Brug Mørk-tilstand" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentelt" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Skjul Vinduet." #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Højde" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Linje Bredde" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Fil" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Vis Bjælkerammer" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Farve" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linjer og Bjælker" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Etiketter på akserne" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Frekvens Rækkevidde" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Indlæs" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Gem nuværende indstillinger til denne forindstillingsfil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Gem nuværende indstillinger til denne forindstillingsfil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Fjern denne forindstillingsfil" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Ny Indgangsforindstillingsnavn" #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Opret Forindstilling" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Import Forudindstilling" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Søg Indgangsforindstillinger" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Liste Af Indgangsforindstillinger" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Højfrekvensdæmpning" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Størrelse af Værelse" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Lille" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mellem" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Stor" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Stor/Glat" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Eksperimentelt" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Diffusion" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Forsinkelse" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Nedbrydningstime" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bas Snit" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Diskant Snit" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Stemning" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Tomme Vægge" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Værelse" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Stor Tom Hal" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standard Model" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Liste over RNNoise-Modeller" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktive Modeller" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Reduktion" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "F2 Niveau" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Indgangsbalance" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Softclip-niveau" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereo-matrix" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo-Standard)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo til Midtside)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Midtside til Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Venstre Kanal)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Højre Kanal)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono sum L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Vend Kanaler)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereotilstand" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Side Niveau" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Side Balance" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Mellem-Niveau" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Mellem-Panorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Udgangsbalance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Forsinkelse L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Forsinkelse Venstre Højre" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Stereo-Base" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Nustli EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Skjul Vinduet." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Vis tilgængelige forindstillinger." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Impulsfiler liste" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Import Impulsfil" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Åben" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Impulsrespons" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Indlæs Impuls" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Fjern Impuls" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Impulsfiler liste" #: src/convolver_ui.cpp:394 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Kunne Ikke Indlæse Impulsfilen" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Optagere" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Spillere" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "Easyeffects" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO-Forindstillinger" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO-Forindstillinger" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Import APO Forindstillingsfil" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Indgangsforindstillinger" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Udgangsenhed" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Fjern" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Udgangsenhed" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Tilføj" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Liste over Blokerede Applikationer" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Bruger" #~ 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 "Search Output Preset" #~ msgstr "Søg Udgangeforindstillinger" #~ msgid "Output Presets List" #~ msgstr "Liste af Udgangeforindstillinger" #~ 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 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 "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.6/po/de.po000066400000000000000000003107371460155372000154120ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Voreinstellungen\"" #: 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:270 msgid "Change the volume of this application" msgstr "Lautstärke der Anwendung anpassen" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Ruhe" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Gesamter Verlauf" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referenz" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentan" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kurzzeitig" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integriert" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrisches Mittel (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrisches Mittel (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrisches Mittel (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrisches Mittel (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Verlauf löschen" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Zurücksetzen" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Umfang" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Ausgangsverstärkung" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Eingabe" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Eingangsverstärkungs-Plugin" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Ausgang" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Ausgangsverstärkungs-Plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Obertöne" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Bereich" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Untere Grenze" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Unterer Grenzwert" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Abwärts" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Aufwärts" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Boosten" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Kompressionsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Verstärkungsschwelle" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Verstärkung" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ansprechzeit" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Zeit" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Schwelle" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Ansprechzeit" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Anprech-Schwelle" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Freigabe" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Abklingzeit" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Abkling-Schwelle" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Verhältnis" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Übergang" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Hebung" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Trockenheit" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Feuchtigkeit" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Quelle" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Mitte" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Seite" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Links" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Rechts" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Sidechain-Quelle" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Links/Rechts" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Rechts/Links" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Mitte/Seite" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Seite/Mitte" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Geteilte Stereo Quelle" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Hochpunkt" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Tiefpassfilter" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Einfacher gleitender Mittelwert" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Sidechain-Modus" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Sidechain zuhören" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Vorsteuerung" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Extern" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Sidechain-Typ" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Eingabegerät" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Vorverstärkung" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktivität" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Ausblick" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Sidechain-Filter" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Hochpass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frequenz" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Aus" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Hochpassfilter-Modus" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Hochpassfilter-Frequenz" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Tiefpass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Tiefpassfilter-Modus" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Verstärkung" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Hüllkurve" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "logarithmische Skala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatische Verstärkungsregelung" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Rate" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Probenahme" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Stummschalten" #: 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:116 msgid "Frequency 1 Split" msgstr "Teilfrequenz 1" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Peak" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frequenz 2 Peak" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Verstärkung" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frequenz 1 Verstärkung" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Level" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frequenz 2 Level" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Peak Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frequenz 2 Peak Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Nachgiebigkeit" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Erkannt" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Senkung" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Verzögerung" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Phase umkehren" #: 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:87 #, fuzzy msgid "Maximum ERB Processing threshold" msgstr "Maximale ERB Verarbeitungsschwelle" #: data/ui/deepfilternet.ui:114 #, fuzzy msgid "Maximum DF Processing Threshold" msgstr "Maximale DF-Verarbeitungsschwelle" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Post Filter Beta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlänge" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Restechounterdrückung" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Tonhöhe links" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Tonhöhe Rechts" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Kanäle trennen" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Flacher Frequenzgang" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Frequenzen berechnen" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Bänder sortieren" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Preset importieren" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Voreinstellung exportieren" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Steigung" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualität" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Breite" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "obere Grenze" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Gebiet" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Hysterese" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Gemischt" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Sidechain Vorverstärkung" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereoverbindung" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Externe Sidechain" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Externe Sidechain-Quelle" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Auto Leveling" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Auto Leveling Attack" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Auto Leveling Release" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Auto Leveling Knee" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Verstärkung Links" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Verstärkung Rechts" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidechain Links" #: data/ui/limiter.ui:714 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:104 #, fuzzy msgid "Clipping" msgstr "Kanalzuordnung" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Grenze" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Band-Liste" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Band Ende" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Band Kompressionsmodus" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Band Umleitung" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Band Sidechain Einstellungen" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereo Modus" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Hochpass-Filter" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Tiefpassfilter-Frequenz" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Tiefpass-Filter" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Tiefpassfilter-Frequenz" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Vorverstärker" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Bereichs-Verstärkung" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Band Bereich" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Band-Kurve" #: data/ui/multiband_gate_band.ui:850 #, 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:254 msgid "Output Devices" msgstr "Ausgabegeräte" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Ausgabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Assoziation erstellen" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "automatische Ausgabe-Voreinstellung hinzufügen" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "automatisch geladene Ausgabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Eingabegeräte" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Eingabe-Voreinstellungen" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "automatische Eingangs-Voreinstellung hinzufügen" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "automatisch geladene Eingang-Voreinstellungen" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Module" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Modulliste" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clienten" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Client-Liste" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiviert" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Eigenschaften" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanäle" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Beide" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Beide Kanäle" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Schwingungsverlauf" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinuswelle" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Fenster" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filterlänge" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tonhöhe" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Halbtöne" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Referenz" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Referenz" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Diesen Effekt entfernen" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Diesen Effekt aktivieren/deaktivieren" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Position dieses Effekts ändern" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Effekt hinzufügen" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Benutzte Plugins" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Keine Effekte" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Benutze dunkles Thema" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Menüs beim Rausklicken schließen" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimentell" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Natives Fenster anzeigen" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Höhe" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Linienbreite" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Ausfüllen" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Balkenbegrenzung anzeigen" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Abgerundete Ecken" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Farbe" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linien und Leisten" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Achsentitel" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Frequenzspanne" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maximum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Laden" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Aktuelle Einstellungen in dieser Preset-Datei speichern" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Aktuelle Einstellungen in dieser Preset-Datei speichern" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Diese Preset-Datei entfernen" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Neuer Eingabe-Presetname" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Eine neue Voreinstellung erstellen" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Voreinstellung importieren" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Eingabe-Preset suchen" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Eingabe-Voreinstellungen" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Hochfrequenz-Dämpfung" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Raumgröße" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Klein" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mittel" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Groß" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Groß/sanft" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimentell" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Verbreitung" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Vorverzögerung" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Abklingzeit" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bassschnitt" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Höhenschnitt" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Atmosphäre" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Leere Wände" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Raum" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Große leere Halle" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standard-Modell" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "RNNoise-Modell Liste" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Modell nicht geladen" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktives Modell" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Fortsetzen" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Rauschunterdrückung" #: data/ui/speex.ui:147 msgid "Level" msgstr "Stufe" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Eingangsverstärkung" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Softclip-Stufe" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereo-Matrix" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo Standard)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo zu Mittelseite)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Mittelseite zu Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Linker Monokanal)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Rechter Monokanal)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Monosumme L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Kanäle tauschen)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereo Modus" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Seitenebene" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Seitenausgleich" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Mittlere Ebene" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Mittleres Panorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Ausgabe-Balance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Verzögerung L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Verzögerung L/R" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Stereo Basis" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Easy Effects zurücksetzen." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Fenster verstecken." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Verfügbare Voreinstellungen anzeigen." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Die Datei ist nicht ordnungsgemäß" #: src/convolver_menu_impulses.cpp:128 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:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Es werden nur Stereo-Impulsdateien unterstützt" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Impulsdatei nicht importiert" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Impulsdatei importieren" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Öffnen" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Impulsantwort" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Impuls laden" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Impuls entfernen" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Keine Impulsdatei geladen" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Die Impulsdatei konnte nicht geladen werden" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Rekorder" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Spieler" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekte" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "APO Preset-Datei importieren" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO Voreinstellungen" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "APO Preset-Datei importieren" #: src/equalizer_ui.cpp:550 #, fuzzy msgid "Save" msgstr "Speichern?" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO Voreinstellungen" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ-Voreinstellungsdatei importieren" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ-Voreinstellungen" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Ausgabegerät" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Entfernen" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Ausgabegerät" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Hinzufügen" #: src/presets_menu.cpp:231 #, fuzzy msgid "Save?" msgstr "Speichern?" #: src/presets_menu.cpp:250 #, fuzzy msgid "Delete?" msgstr "Löschen?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Liste der ausgeschlossenen Anwendungen" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "" #: 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Nutze" #~ 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 "Search Output Preset" #~ msgstr "Ausgabe-Preset suchen" #~ msgid "Output Presets List" #~ msgstr "Liste der Ausgabe-Voreinstellungen" #~ 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 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 "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 "Updated translations" #~ msgstr "Übersetzungen wurden aktualisiert" #~ 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 "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 "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.6/po/easyeffects.pot000066400000000000000000001517311460155372000175040ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.6/po/es.po000066400000000000000000003071261460155372000154270ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 23:02+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.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 "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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Perfiles\"" #: 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:270 msgid "Change the volume of this application" msgstr "Cambiar el volumen de esta aplicación" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Historial máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Corto plazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integral" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Media geométrica (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Media geométrica (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Media geométrica (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Media geométrica (SI)" #: data/ui/autogain.ui:127 msgid "History" msgstr "Historial" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativa" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Ganancia de salida" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Ganancia de entrada del plugin" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Ganancia de salida del plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Límite inferior" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Valor del límite inferior" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Descendente" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Ascendente" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Impulsar" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Umbral de refuerzo" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Cantidad de refuerzo" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tiempo" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Umbral" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Tiempo de ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Umbral de ataque" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Release" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Tiempo de decaimiento" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Umbral de decaimiento" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Ratio (n:1)" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Rótula" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Ganancia de compensación" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Nivel Dry" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Nivel Wet" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadena lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lateral" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Izquierdo" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Derecho" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Fuente de la cadena lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Izquierda/Derecha" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Derecha/Izquierda" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Medio/Lateral" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Lateral/Media" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Fuente Split para el estéreo" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS (media cuadrática)" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Filtro de paso bajo" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Promedio móvil simple" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Modo cadena lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Escuchar el Sidechain" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Retroalimentación" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Avance hacia atrás" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externa" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Tipo de cadena lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Dispositivo de entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Preamplificación" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Anticipación" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Filtros de cadena lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Paso alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Desactivado" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Modo filtro de paso alto" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Frecuencia del filtro de paso alto" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Paso bajo" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Modo filtro de paso bajo" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Envolvente" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Escala logarítmica" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Ganancia automática" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenciar" #: 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:116 msgid "Frequency 1 Split" msgstr "División de la frecuencia 1" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Pico de la frecuencia 2" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Ganancia F1" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Ganancia de la frecuencia 1" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Nivel F2" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Nivel de la frecuencia 2" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "Pico Q F2" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Pico Q de la frecuencia 2" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxitud" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Invertir la fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Umbral máximo de procesamiento de ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Umbral máximo de procesamiento de DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Buffer mínimo para el procesamiento" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Filtro posterior beta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Longitud del filtro" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Suprimir el eco residual" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Pitch izquierdo" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Pitch derecho" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Dividir canales" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Respuesta plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular frecuencias" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Ordenar las bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importar perfil" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Exportar el preajuste" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solista" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Límite superior" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Histéresis" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mezcla" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Inicio de la zona de ataque" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Preamplificaión de la cadena lateral" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Boost" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Enlace estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Cadena lateral externa" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Nivelación automática" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Ataque de nivelación automática" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Decaimiento de nivelación automática" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Rótula (transición) de nivelación automática" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Ganancia izquierda" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Ganancia derecha" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Cadena lateral izquierda" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Recorte" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Límite superior" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Lista de bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Fin de la banda" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Modo de compresión de banda" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bypass de banda" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Opciones de la cadena lateral de la banda" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Split estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Paso-Alto" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Frecuencia del filtro paso alto" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Paso-Bajo" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Frecuencia del filtro paso bajo" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "PreAmp (subir el nivel de ganancia de manera limpia)" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Ganancia de banda" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Envolvente de banda" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Curva de la banda" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Dispositivos de salida" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Perfiles de salida" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Crear asociación" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Agregar un perfil de salida de carga automática" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Lista de perfiles de salida de carga automática" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Dispositivos de entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Perfiles de entrada" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Agregar un perfil de entrada de carga automática" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Lista de perfiles de entrada de carga automática" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Lista de los módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Lista de los clientes" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Señal de prueba" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Habilitado" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Ambos canales" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Onda sinusoidal" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Ventana de búsqueda" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Longitud de la superposición" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Diferencia del tiempo" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Diferencia del flujo" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Quitar este efecto" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Activar/desactivar este efecto" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Cambiar la posición de este efecto" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Agregar efecto" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Lista de plugins utilizados" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Sin efectos" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Intervalo de actualización (medidores de nivel y espectro)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Frecuencia de la actualización (Complementos LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Usar tema oscuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Ocultar los menús al hacer click fuera" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Funciones experimentales" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Ventana de los complementos nativos" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Ancho de la línea" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Mostrar los bordes de las barras" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Redondear las esquinas" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Escala dinámica" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Color" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Lineas y barras" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Etiquetas del eje" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Rango de frecuencia" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Mínima" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Cargar" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "Descarta los ajustes actuales y carga este preajuste" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Guardar la configuración actual en este perfil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Eliminar este perfil" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Nuevo nombre preestablecido" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Crear un preajuste nuevo" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importar un preajuste" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Búsqueda preestablecida" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Lista de los preajustes" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Atenuación de alta frecuencia" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamaño de la sala" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/suave" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Música experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre retraso" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tiempo de decaimiento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Corte de graves" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte de agudos" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes vacías" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Sala" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Sala grande vacía" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Modelo estándar" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Lista de modelos de RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Modelo no cargado" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Continuar" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Supresión del ruido" #: data/ui/speex.ui:147 msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Balance de entrada" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Recorte suave" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Nivel del recorte suave (soft clipping)" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo predeterminado)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo a medio-lateral)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio-lateral a estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "R > LL (Mono usando el canal izquierdo)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono usando el canal derecho)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono sumando los canales izq. y dcho.)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Estéreo invirtiendo los canales)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Modo estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panoramización media" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Balance de salida" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Retardo izquierdo/derecho" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "Mostrar la versión de Easyeffects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Reiniciar Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Ocultar la ventana." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostrar los perfiles disponibles." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "El archivo no es regular" #: src/convolver_menu_impulses.cpp:128 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:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Sólo se admiten archivos de impulso estéreo" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Archivo de impulso no importado" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar archivo de respuesta a impulsos" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Respuesta a impulsos" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Cargar archivo de respuesta a impulsos" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Eliminar archivo de respuesta a impulsos" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "No se ha cargado el archivo de impulsos" #: src/convolver_ui.cpp:394 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:773 msgid "Recorders" msgstr "Grabadores" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Reproductores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efectos" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importar archivo de perfil APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Perfiles APO" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "Exportar archivo preestablecido EqualizerAPO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Guardar" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "Preajustes de EqualizerAPO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importar archivo preestablecido de GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Preajustes de GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Medidor del nivel de salida" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Eliminar" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Dispositivo de salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Agregar" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "¿Guardar?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "¿Borrar?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Preajuste no cargado correctamente" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Formato incorrecto en la lista de aplicaciones excluidas" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "Error genérico al cargar la lista de aplicaciones excluidas" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "Formato incorrecto en la lista de efectos" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Error genérico al cargar la lista de efectos" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Uno o más parámetros tienen un formato incorrecto" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "Error genérico al cargar el efecto" #: 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:166 msgid "-inf" msgstr "infinito" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "Usando {}" #~ 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 "Search Input Preset" #~ msgstr "Buscar perfil de entrada" #~ msgid "Input Presets List" #~ msgstr "Lista de perfiles 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 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 "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 "Updated translations" #~ msgstr "Traducciones actualizadas" #~ 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.6/po/es_CO.po000066400000000000000000002454201460155372000160060ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Perfiles\"" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:386 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Fondo" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "nivel seco" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Nivel húmedo" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Retraso Izquierda Derecha" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "AutoGain" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenciar" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Invertir Fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importar Preajuste" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importar Preajuste" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Cadena Lateral" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Ganancia" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Derecha" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Cadena Lateral" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Límite" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Modo Estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 #, fuzzy msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Señal de Prueba" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Habilitar" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "Efectos" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Cierra la ventana" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:212 #, fuzzy msgid "Minimum" msgstr "Máximo" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importar Preajuste" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Modelo estándar" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "RNNoise Lista de Modelos" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Balance de insumos" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Nivel del Clip Suave" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Modo Estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Balance de producción" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Retraso Izquierda Derecha" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Oculta la ventana." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar impulso de archivo" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Cargar impulso" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Remover impulso" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:394 #, 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:773 msgid "Recorders" msgstr "grabadoras" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Jugadores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efectos" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Preajustes APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preajustes APO" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar archivo de preajuste APO" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Añadir" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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: " #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #~ 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 "Updated translations" #~ msgstr "Traducciones actualizadas" #~ 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 "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 "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.6/po/es_MX.po000066400000000000000000002244211460155372000160270ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Perfiles\"" #: 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:270 msgid "Change the volume of this application" msgstr "Cambiar el volumen de esta aplicación" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:386 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Valor del Fondo" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Amplificando" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Tiempo decaimiento" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Nivel" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Nivel Objetivo" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Retraso L/R" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Media móvil simple" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral Externa" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia Automática" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenciar" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Invertir Fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Umbral máximo de procesamiento de ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Umbral máximo de procesamiento de DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Búfer mínimo de procesamiento" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Importar Perfiles" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importar Perfiles" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Histéresis" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mezcla" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Inicio de la zona de ataque" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Potenciador" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Cadena Lateral Externa" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Nivelación con ataque automático" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Nivelación con liberación automática" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Ganancia Izquierda" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Ganancia Derecha" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Cadena Lateral Izquierda" #: data/ui/limiter.ui:714 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:104 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Límite" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Final de banda" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Base Estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Preamplificador" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida" #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Añadir perfil autocargado" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Lista de módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Lista de clientes" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Señal de prueba" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Habilitado" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Ambos canales" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Añadir efecto" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Mostrar Ventana Nativa" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importar Perfiles" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 #, 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 #, fuzzy msgid "Active Model" msgstr "Modo Agresivo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:151 #, fuzzy msgid "Stereo Mode" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:285 #, fuzzy msgid "Load Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:394 #, 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:773 #, fuzzy msgid "Recorders" msgstr "Bordes" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 #, fuzzy msgid "Import APO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:461 #, fuzzy msgid "APO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones Excluidas" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 #, 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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 "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida:" #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #~ 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 "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 "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.6/po/es_VE.po000066400000000000000000002222621460155372000160160ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Perfiles\"" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Corto Plazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Usar la Media Geométrica" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Restablecer Historial" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Restablecer" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Reativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rango" #: data/ui/autogain.ui:386 #, fuzzy msgid "Output Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Ganancia de Entrada" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Salida" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Caudal de Salida" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Alcance" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Fondo" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Fondo" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Hacia Abajo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Hacia Arriba" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de Compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 #, fuzzy msgid "Boost Threshold" msgstr "Límite" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Cantidad" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Límite" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Límite" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Liberar" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Tiempo Real" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Límite" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Radio" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Codo" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Amplificación" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Nivel" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Nivel Objetivo" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fuente" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Izquierda" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Derecha" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Máximo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Cadena Lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Retraso L/R" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Derecha" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Fuente Predeterminada" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Cadena Lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Cadena Lateral" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Adelantar" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Realimentar" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Cadena Lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Efectos de Entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Pre-amplificación" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactividad" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Atenuación" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Cadena Lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Pase Alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Apagdo" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Paso Bajo" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filtro de Pase Alto" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Pendiente" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 #, fuzzy msgid "Log Scale" msgstr "Escala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia Automática" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Muestras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenciar" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Pico" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Ganancia" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Nivel" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Pico Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Relajamiento" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Reducción" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retraso" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Invertir Fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Ruido" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Cadena Lateral" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Dividir Canales" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Respuesta Plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular Frecuencias" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Importar Perfiles" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importar Perfiles" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendiente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidad" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Anchura" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Límite" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Pre-amplificación" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Acoplamiento Estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Cadena Lateral" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Ganancia Automática" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Ganancia" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Derecha" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Cadena Lateral" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Mapa de Canales" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Límite" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de Compresión" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Bypass" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Base Estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filtro" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtro de Pase Alto" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Calcular Frecuencias" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Ganancia de Entrada" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Efectos de Salida" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 #, fuzzy msgid "Output Presets" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Perfiles de Dispositivos de Salida: " #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Efectos de Entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Señal de Prueba" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Habilitar" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Canales" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Mesa Sinusoidal" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Ventana" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Tono" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitonos" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Usar Tema Oscuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Ventana" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Ancho de Linea" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Rellenar" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:212 #, fuzzy msgid "Minimum" msgstr "Máximo" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Guardar esta configuración a este perfil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Borrar este perfil" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Crear Perfil" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importar Perfiles" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Perfiles de Dispositivos de Entrada: " #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortiguación de Alta Frecuencia" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamaño de la Habitación" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequeña" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mediana" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/Liso" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Retraso" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tiempo de Decaimiento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Corte de Bajos" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte de Sobreagudos" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes Vacías" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Habitación" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Habitación Vacía Grande" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 #, 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 #, fuzzy msgid "Active Model" msgstr "Modo Agresivo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Ruido" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Nivel" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Clip Suave" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Estéreo Predeterminado)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Estéreo hacia Medio Lado)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Medio Lado - Estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Canal Izquierdo Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Canal Derecho Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Suma Mono L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Intercambiar Canales)" #: data/ui/stereo_tools.ui:151 #, fuzzy msgid "Stereo Mode" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance Lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel Medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Retraso L/R" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Restablecer EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostrar perfiles disponibles." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Respuesta de Impulse" #: src/convolver_menu_impulses.cpp:285 #, fuzzy msgid "Load Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar Archivo Impulse" #: src/convolver_ui.cpp:394 #, 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:773 #, fuzzy msgid "Recorders" msgstr "Bordes" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 #, fuzzy msgid "Import APO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:461 #, fuzzy msgid "APO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Perfiles" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar Perfiles" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Perfiles de Dispositivos de Entrada: " #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Efectos de Salida" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Efectos de Salida" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicaciones" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 #, 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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: " #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Perfiles de Dispositivos de Salida: " #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #~ 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 "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 "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.6/po/eu.po000066400000000000000000001625571460155372000154400ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Aurrezarpenak\"" #: 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:270 msgid "Change the volume of this application" msgstr "Aldatu aplikazio honen bolumena" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Isiltasuna" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Gehieneko historia" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Erreferentzia" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Behin-behinekoa" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Epe laburrekoa" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integratua" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Batezbesteko geometrikoa (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Batezbesteko geometrikoa (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Batezbesteko geometrikoa (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Batezbesteko geometrikoa (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Berrezarri historia" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Berrezarri" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Erlatiboa" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Barrutia" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Irteerako irabazia" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Sarrera" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Sarrerako irabaziaren plugina" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Irteera" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Irteerako irabaziaren plugina" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonikoak" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Esparrua" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Zorua" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Zoru-balioa" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modua" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Beherantz" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Gorantz" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Indartzea" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Konpresio-modua" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Indartze-atalasea" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Indartze kantitatea" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Erasoa" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Denbora" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Atalasea" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Eraso-denbora" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Eraso-atalasea" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Askatzea" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Askatze-denbora" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Askatze-atalasea" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Ratioa" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Trantsizioa" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Goratzea" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Lehortze-maila" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Hezetasun-maila" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Alboko katea" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Iturburua" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Erdia" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Alboa" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Ezkerra" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Eskuina" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Alboko katearen iturburua" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Eskuina" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Eskuina" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Alboa" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Alboa" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Gailurra" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMSa" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Alboko katearen modua" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Alboko katea" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Mota" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Aurrelikatzea" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Atzeraelikatzea" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Kanpokoa" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Alboko katearen mota" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Sarrerako gailua" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Aurreanplifikazioa" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Erreaktibotasuna" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Aurrea hartzea" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Alboko katearen iragazkiak" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Pasaera altua" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Maiztasuna" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Desaktibatuta" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/zortzidun" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/zortzidun" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/zortzidun" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Pasaera altuko iragazki-modua" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Pasaera altuko iragazki-maiztasuna" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Pasaera baxua" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Pasaera baxuko iragazki-modua" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Irabazia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Inguratzailea" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kurba" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espektroa" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Eskala logaritmikoa" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Irabazi automatikoa" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Tasa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Laginak" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Mututu" #: 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:116 msgid "Frequency 1 Split" msgstr "1. maiztasunaren zatitzea" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 gailurra" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "2. maiztasunaren gailurra" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 irabazia" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "1. maiztasunaren irabasia" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 maila" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "2. maiztasunaren maila" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Q gailurra" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "2. maiztasunaren Q gailurra" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxotasuna" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detektatua" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Murrizketa" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Atzerapena" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Iragazki-luzera" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Iragazki-luzera" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Hondar-oihartzuna kentzea" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balantzea" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Ezkerreko tonua" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Eskuineko tonua" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Zatitu kanalak" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Erantzun laua" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Kalkulatu maiztasunak" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Ordenatu bandak" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Inportatu aurrezarpena" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Inportatu aurrezarpena" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Malda" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kalitatea" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Zabalera" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Histeresia" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Estereo-zabalera" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Aurrezarpena" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Aurrezarpenak" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Banda modua" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Baztertutako aplikazioen zerrenda" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #~ 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.6/po/fr_FR.po000066400000000000000000003273251460155372000160210ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2023-12-23 11:09+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.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 "É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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Préréglages\"" #: 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:270 msgid "Change the volume of this application" msgstr "Modifier le volume de cette application" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silence" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Historique maximum" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Référence" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Temporaire" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Court-terme" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Intégré" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Moyenne géométrique (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Moyenne géométrique (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Moyenne géométrique (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Moyenne géométrique (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Réinitialiser l’historique" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Réinitialiser" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatif" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Intervalle" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Gain de sortie" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrée" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Gain d’entrée du greffon" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Sortie" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Gain de sortie du greffon" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmoniques" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Portée" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Limite inférieure" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Valeur plancher" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Mode" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Descendant" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Ascendant" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Renforcement" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Mode de compression" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Seuil de renforcement" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Quantité de renforcement" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Attaque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Temps" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Seuil" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Temps d’attaque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Seuil d’attaque" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Relâchement" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Temps de relâchement" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Seuil de relâchement" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Ratio" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Genou" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Compensation de gain" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Niveau des signaux secs" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Niveau des signaux humides" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Chaîne latérale" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Source" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Centrale" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Latérale" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Gauche" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Droite" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Source Chaîne Latérale" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Gauche/Droite" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Droite/Gauche" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Milieu/Côté" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Côté/Milieu" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Source Séparée Stéréo" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Crête" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Filtre Passe-Bas" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Moyenne mobile simple" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Mode Chaîne Latérale" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Écouter la Chaîne Latérale" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Retour d'information" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Retour" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externe" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Type Chaîne Latérale" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Périphérique d’entrée" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Pré amplification" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Réactivité" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Anticipation" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Filtres Chaîne Latérale" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Passe-Haut" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Fréquence" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Désactivé" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Mode du filtre Passe-Haut" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Fréquence du filtre Passe-Haut" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Passe-Bas" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Mode du filtre Passe-Bas" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Enveloppe" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Courbe" #: data/ui/convolver.ui:40 msgid "L" msgstr "G" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spectre" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Échelle logarithmique" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Gain automatique" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Taux" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Échantillons" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Couper le son" #: 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:116 msgid "Frequency 1 Split" msgstr "Division Fréquence 1" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Crête F2" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Crête Fréquence 2" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Gain F1" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Gain Fréquence 1" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Niveau F2" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Niveau Fréquence 2" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "Crête Q F2" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Crête Q Fréquence 2" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxité" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Détecté" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Réduction" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Retard" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverser la phase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Seuil maximum de traitement ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Seuil maximum de traitement DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Tampon de traitement minimal" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Filtre postérieur Beta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Longueur du filtre" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Suppression de l'écho résiduel" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Hauteur Gauche" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Hauteur Droite" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Diviser les canaux" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Réponse Plate" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calculer les fréquences" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Tri des bandes" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importer un préréglage" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Exporter le préréglage" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualité" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Largeur" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Plafonner" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zone" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Hystérèse" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Début Zone d’Attaque" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Pré amplification de la Chaîne Latérale" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Renforcer" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Lien Stéréo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Chaîne Latérale Externe" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Auto-nivellement" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Auto-nivellement de l’attaque" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Auto-nivellement du relâchement" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Auto-nivellement du genou" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Gain Gauche" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Gain Droit" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Chaîne Latérale Gauche" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Coupure" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Plafonnement" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Liste des Bandes" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Bande 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Bande 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Bande 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Bande 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Bande 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Bande 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Bande 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Fin de Bande" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Mode de Compression" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Contournement de Bande" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Options Chaîne Latérale de la bande" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Séparation Stéréo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Coupe-Bas" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Fréquence Filtre Coupe-Bas" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Coupe-Haut" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Fréquence Filtre Coupe-Haut" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "PréAmp" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Gain de Bande" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Enveloppe de bande" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Courbe de Bande" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Périphériques de sortie" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Préréglages de sortie" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Créer une association" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Ajouter un préréglage de sortie auto-chargeant" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Liste des préréglages de sortie auto-chargeant" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Périphériques d’entrée" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Préréglages d’entrée" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Ajouter un préréglage d’entrée auto-chargeant" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Liste des préréglages d’entrée auto-chargeant" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Modules" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Liste des modules" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clients" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Liste des clients" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Signal d’essai" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "État" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Activé" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Propriétés" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canaux" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Tous les deux" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Les deux canaux" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Forme d’onde" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Onde sinusoïdale" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Fenêtre de recherche" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Durée de chevauchement" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Hauteur" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Demi-tons" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Différence de tempo" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Différence de débit" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Supprimer cet effet" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Activer/désactiver cet effet" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Modifier la position de cet effet" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Ajouter un effet" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Liste des greffons utilisés" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Aucun effet" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Intervalle de mise à jour (mesureurs de niveau et spectre)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Fréquence de mise à jour (Greffons LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Style" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Utiliser le thème sombre" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Masquer les menus en cliquant en dehors" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Fonctionnalités expérimentales" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Fenêtre du greffon natif" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Taille" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Largeur de ligne" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Remplir" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Afficher les bordures des barres" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Coins arrondis" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Échelle dynamique" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Couleur" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Lignes et barres" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Annotation des axes" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Intervalle de fréquences" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maximum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Charger" #: data/ui/preset_row.ui:38 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:47 msgid "Save current settings to this preset file" msgstr "Enregistrer les paramètres actuels dans ce préréglage" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Supprimer ce préréglage" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Nouveau nom de préréglage" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Créer un nouveau préréglage" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importer un préréglage" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Rechercher un préréglage" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Liste des préréglages" #: 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:73 msgid "Room Size" msgstr "Taille de la salle" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Petite" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Moyenne" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/lisse" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Expérimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Diffusion" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pré-retard" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Temps de Déclin" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Couper les Basses" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Couper les Aiguës" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiance" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Murs Vides" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:596 msgid "Room" msgstr "Salle" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Grande Salle Vide" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Modèle standard" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Liste des modèles RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Modèle non chargé" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modèle actif" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Continuer" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Suppression du bruit" #: data/ui/speex.ui:147 msgid "Level" msgstr "Niveau" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Balance d’entrée" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Écrêtage doux" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Niveau de l’écrêtage" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matrice Stéréo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "GD > GD (Stéréo par défaut)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "GD > M (Stéréo vers milieu)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "M > GD (Milieu vers stéréo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "GD > GG (Canal gauche mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "GD > DD (Canal droit mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "GD > G+D (Somme G+D vers mono)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "GD > DG (Inversement des canaux stéréo)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Mode Stéréo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Niveau Latéral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance Latérale" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Niveau Central" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama central" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Balance de Sortie" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Retard G/D" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Retard Gauche Droit" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Stéréo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "Imprimer la version d'easyeffects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Réinitialiser Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Masquer la Fenêtre." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Afficher les préréglages disponibles." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Le fichier est irrégulier" #: src/convolver_menu_impulses.cpp:128 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:133 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:143 msgid "Impulse File Not Imported" msgstr "Fichier d’impulsion non importé" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importer un fichier d’impulsion" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Ouvrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Réponse impulsionnelle" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Charger une impulsion" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Supprimer l’impulsion" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Aucun fichier d’impulsion chargé" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Impossible de charger le fichier d’impulsion" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Enregistreurs" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Lecteurs" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effets" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importer un fichier de préréglage APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Préréglages APO" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "Exporter le fichier de préréglage de l'ÉgaliseurAPO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Sauvegarder" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "Préréglages de l'ÉgaliseurAPO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importer un fichier de préréglage GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Préréglages GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Indicateur Niveau de Sortie" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Supprimer" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Périphérique de sortie" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Ajouter" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Sauvegarder ?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Effacer ?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Le préréglage n'a pas été chargé correctement" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Format incorrect dans la liste des applications exclues" #: src/presets_manager.cpp:841 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:850 msgid "Wrong Format in Effects List" msgstr "Format incorrect dans la liste des effets" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Erreur générique lors du chargement de la liste des effets" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Un ou plusieurs paramètres ont un format incorrect" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "Erreur générique lors du chargement de l'effet" #: 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "Utilise {}" #~ 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 "Search Output Preset" #~ msgstr "Rechercher un préréglage de sortie" #~ msgid "Output Presets List" #~ msgstr "Liste des préréglages 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 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 "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 "Updated translations" #~ msgstr "Traductions mises à jour" #~ 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.6/po/gl.po000066400000000000000000002405651460155372000154250ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "«Preconfiguracións»" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silencio" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referencia" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentáneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Curto prazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrado" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Empregar media xeométrica" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Restabelecer historial" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Restabelecer" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Intervalo" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Ganancia da saída" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Saída" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Saída" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Saída" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmónicos" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Ámbito" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Chan" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Chan" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Descendente" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Ascendente" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de compresión" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Limiar de realce" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Cantidade" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Limiar" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Limiar" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Soltar" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Soltar" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Limiar da solta relativa" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Proporción" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Xeonllo" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Restauración" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Nivel F2" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Nivel do destino" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadea lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fonte" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Esquerda" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Dereita" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Cadea lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Delonga E/D" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Dereita" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Lado" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Fonte predeterminada" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Cadea lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Cadea lateral" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Remitir" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Retroalimentar" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Cadea lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Nivel de entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Preamplificación" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactividade" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Delonga máxima" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Cadea lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Paso alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecuencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Desactivado" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frecuencias altas" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Frecuencias baixas" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Modo de filtro de frecuencias altas" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganancia" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "E" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Ganancia automática" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Taxa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Mostras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenciar" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecuencia" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecuencia" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Ganancia F1" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecuencia" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Nivel F2" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecuencia" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "Pico F2 Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecuencia" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxitude" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Redución" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Delonga" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverter fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filtro" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtro" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresión de ruído" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balance" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Cadea lateral" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Cadea lateral" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Dividir canles" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Resposta plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular frecuencias" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Ordealas Bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Importar preconfiguración" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importar preconfiguración" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendente" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calidade" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Largura" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Teito" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Preamplificación" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Ligazón estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Cadea lateral" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Nivelación automática" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Nivelación automática" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Nivelación automática" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Nivelación automática" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Esquerda" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Dereita" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Cadea lateral" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Asignación de canles" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Teito" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Bandas" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Bandas" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Bandas" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Bandas" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Bandas" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Bandas" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Bandas" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Bandas" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Modo de compresión" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Desvío" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 #, fuzzy msgid "Band Sidechain Options" msgstr "Cadea lateral" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Base de estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Modo de filtro de frecuencias baixas" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Modo de filtro de frecuencias baixas" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtro de altas frecuencias" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filtro de altas frecuencias" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Ganancia F1" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Curva" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Saída" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 #, fuzzy msgid "Output Presets" msgstr "Preconfiguracións de saída: " #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Preconfiguracións de saída: " #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Nivel de entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Preconfiguracións de entrada: " #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Preconfiguracións de entrada: " #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Sinais de proba" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Activado" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Propiedades" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canles" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Canles" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Forma de onda" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Táboa de senos" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Xanela" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filtro" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Ton" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitóns" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Referencia" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Referencia" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 #, fuzzy msgid "Add Effect" msgstr "Efectos de entrada" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Empregar tema escuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Agochar a xanela." #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Largura de liña" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Encher" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Cor" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frecuencia" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Cargar" #: data/ui/preset_row.ui:38 #, 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:47 msgid "Save current settings to this preset file" msgstr "Gardar as opcións actuais neste ficheiro de preconfiguracións" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Retirar este ficheiro de preconfiguracións" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Preconfiguracións de entrada: " #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Sen preconfiguración" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importar preconfiguración" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Preconfiguracións de entrada: " #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Preconfiguracións de entrada: " #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortecemento de frecuencias altas" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamaño da sala" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequena" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Media" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/suave" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusión" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Delonga previa" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tempo de decaemento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Paso alto" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte de agudos" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes baleiras" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Sala" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Sala de concertos grande baleira" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 #, fuzzy msgid "Standard Model" msgstr "Modelo RNNoise estándar" #: data/ui/rnnoise.ui:206 #, fuzzy msgid "RNNoise Models List" msgstr "Modelo RNNoise estándar" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modelo activo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresión de ruído" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Nivel F2" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Balance" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Compresión de ganancia" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Compresión de ganancia" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "DE>DE (Predeterminado de estéreo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ED>M (Estéreo a medio)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "M>ED (Medio a estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "ED>EE (Mono canle esquerda)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "ED>DD (Mono canle dereita)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "ED>E+D(Mono suma de E+D)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "ED>DE (Canles estéreo invertidas)" #: data/ui/stereo_tools.ui:151 #, fuzzy msgid "Stereo Mode" msgstr "Base de estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balance lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama medio" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Saída" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Delonga E/D" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Delonga E/D" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base de estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Restabelecer EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Agochar a xanela." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostrar preoconfiguracións dispoñíbeis." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importar ficheiro de impulso" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar ficheiro de impulso" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Resposta de impulso" #: src/convolver_menu_impulses.cpp:285 #, fuzzy msgid "Load Impulse" msgstr "Resposta de impulso" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Importar impulso" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importar ficheiro de impulso" #: src/convolver_ui.cpp:394 #, 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:773 msgid "Recorders" msgstr "Gravadoras" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Reprodutores" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Preconfiguracións de APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preconfiguracións de APO" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importar ficheiro de preconfiguracións de APO" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Preconfiguracións de entrada: " #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Saída" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Eliminar" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Saída" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Engadir" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplicacións" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Usando" #, 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: " #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Preconfiguracións de saída: " #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #~ 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 "Dry" #~ msgstr "Seco" #~ 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.6/po/hr.po000066400000000000000000002226551460155372000154340ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 #, fuzzy msgid "\"Presets\"" msgstr "Predlošci" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Tišina" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maksimalna povijest" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referenca" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Trenutačno" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kratkoročno" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrirano" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrijski prosjek (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrijski prosjek (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrijski prosjek (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrijski prosjek (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Resetiraj povijest" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Vrati na tvorničke postavke" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativno" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Raspon" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Pojačanje izlaza" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Ulaz" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Pojačanje ulaza" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Izlaz" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Pojačanje ulaza" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonijski red" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Raspon" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Dno" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Dno" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Način" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modus kompresije" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 #, fuzzy msgid "Boost Threshold" msgstr "Prag" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Jačina" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Pokretanje" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Vrijeme" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prag" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Pokretanje" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Prag" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Vrijeme prijelaza" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Vrijeme prijelaza" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Prag" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Omjer" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 #, fuzzy msgid "Knee" msgstr "Koljeno" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 #, fuzzy msgid "Makeup" msgstr "Dorada" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Razina" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Ciljana razina" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 #, fuzzy msgid "Sidechain" msgstr "Postranični ulaz" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Izvor" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Sredina" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Strana" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Lijevo" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Desno" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min." #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Maks." #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Postranični ulaz" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Lijevo/Desno" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Desno/Lijevo" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Sredina/Strana" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Strana/Sredina" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Tvorničke postavke" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Vrhunac" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Postranični ulaz" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Postranični ulaz" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Vrsta" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 #, fuzzy msgid "Feed-back" msgstr "Dovod zvuka" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Postranični ulaz" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Ulazni uređaj" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Aplikacije" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Preduhvatiti" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Postranični ulaz" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvencija" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 #, fuzzy msgid "12 dB/oct" msgstr "12dB/oct niski prolaz" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 #, fuzzy msgid "24 dB/oct" msgstr "24dB/oct niski prolaz" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 #, fuzzy msgid "36 dB/oct" msgstr "36dB/oct niski prolaz" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Prigušivanje visokih frekvencija" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 #, fuzzy msgid "Low-Pass" msgstr "Nizak prolaz" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filter visokog prolaza" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Pojačanje" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektar" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Automatsko pojačavanje" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Frekvencija" #: data/ui/convolver.ui:169 #, fuzzy msgid "Samples" msgstr "Semplovi" #: data/ui/convolver.ui:190 #, 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Bezvučno" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekvencija" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Vrhunac" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekvencija" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Pojačanje" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekvencija" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Razina" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekvencija" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Vrhunac Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekvencija" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Popustljivost" #: data/ui/deesser.ui:586 #, fuzzy msgid "Detected" msgstr "Detektirano" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Smanjenje" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Kašnjenje" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverzija faze" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresija buke" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Ravnoteža" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Postranični ulaz" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Postranični ulaz" #: data/ui/equalizer.ui:292 #, fuzzy msgid "Split Channels" msgstr "Kanali" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Ravan izlaz" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Izračunaj frekvencije" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Broj raspona" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Učitaj predloške" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Učitaj predloške" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvaliteta" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Širina" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Vrh" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Aplikacije" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereo veza" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Postranični ulaz" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatsko pojačavanje" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Lijevo" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Desno" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Postranični ulaz" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Kanali" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Vrh" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Broj raspona" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Broj raspona" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Kompresija" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Premosnica" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 #, fuzzy msgid "Band Sidechain Options" msgstr "Postranični ulaz" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereo baza" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filter" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Filter" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filter visokog prolaza" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filter visokog prolaza" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Pojačanje ulaza" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 #, 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:254 msgid "Output Devices" msgstr "Izlazni uređaji" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 #, fuzzy msgid "Output Presets" msgstr "Predlošci: " #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Predlošci: " #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Ulazni uređaji" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Učitaj predloške" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Učitaj predloške" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduli" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Popis modula" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klijenti" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Popis klijenata" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testni signal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stanje" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktivirano" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Svojstva" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanali" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Oba kanala" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Oblik krivulje" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusoida" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Prozor" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Visina" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Polustepeni" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Kompresija" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 #, fuzzy msgid "Add Effect" msgstr "Ulazni efekti" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Koristi tamnu temu" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentalna" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Prozor" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Visina" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Širina linija" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Ispuna" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Prikaži konture traka" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Zaobljeni kutovi" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Boja" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linije i trake" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Oznake osi" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Raspon frekvencije" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Spremi trenutne postavke u predložak" #: data/ui/preset_row.ui:47 #, fuzzy msgid "Save current settings to this preset file" msgstr "Spremi trenutne postavke u predložak" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Stvori predložak" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Učitaj predloške" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Učitaj predloške" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Prigušivanje visokih frekvencija" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Veličina sobe" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Mala" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Srednje velika" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Velika" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Velika/glatko" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Eksperimentalna" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difuzija" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Prijevremeno kašnjenje" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Vrijeme opadanja" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Odrezivanje basa" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Odrezivanje visokog tona" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Atmosera" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Prazni zidovi" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Soba" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Velika prazna dvorana" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 #, 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 #, fuzzy msgid "Active Model" msgstr "Kompresija" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresija buke" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Razina" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Ravnoteža" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Stranična razina" #: data/ui/stereo_tools.ui:128 #, fuzzy msgid "Stereo Matrix" msgstr "Stereo matrica" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 #, fuzzy msgid "Stereo Mode" msgstr "Stereo baza" #: data/ui/stereo_tools.ui:236 #, fuzzy msgid "Side Level" msgstr "Stranična razina" #: data/ui/stereo_tools.ui:272 #, fuzzy msgid "Side Balance" msgstr "Stranična ravnoteža" #: data/ui/stereo_tools.ui:308 #, fuzzy msgid "Middle Level" msgstr "Srednji nivo" #: data/ui/stereo_tools.ui:344 #, fuzzy msgid "Middle Panorama" msgstr "Srednja panorama" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Pojačanje ulaza" #: data/ui/stereo_tools.ui:433 #, fuzzy msgid "Delay L/R" msgstr "Kašnjenje L/D" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Kašnjenje L/D" #: data/ui/stereo_tools.ui:469 #, fuzzy msgid "Stereo Base" msgstr "Stereo baza" #: data/ui/stereo_tools.ui:505 #, 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Obnovi EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "Prikaži dostupne predloške." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Učitaj impuls datoteku" #: src/convolver_menu_impulses.cpp:151 #, fuzzy msgid "Import Impulse File" msgstr "Učitaj impuls datoteku" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otvori" #: src/convolver_menu_impulses.cpp:164 #, fuzzy msgid "Impulse Response" msgstr "Reakcija impulsa" #: src/convolver_menu_impulses.cpp:285 #, fuzzy msgid "Load Impulse" msgstr "Reakcija impulsa" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Učitaj impuls" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Učitaj impuls datoteku" #: src/convolver_ui.cpp:394 #, 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:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 #, fuzzy msgid "Import APO Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:461 #, fuzzy msgid "APO Presets" msgstr "Predlošci" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Predlošci" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Učitaj predloške" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Pojačanje ulaza" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Pojačanje ulaza" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Popis izuzetih aplikacija" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 #, 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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 "Search Output Preset" #~ msgstr "Predlošci: " #, fuzzy #~ msgid "Output Presets List" #~ 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 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 "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" #~ msgid "Dry" #~ msgstr "Suhoća" #, 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.6/po/id_ID.po000066400000000000000000002257641460155372000157770ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "Preset" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Diam" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Angkatan Maksimal" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referensi" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Efek Sejenak" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Waktu Singkat" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Terintegrasi" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Terapkan Gradien warna" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Atur Ulang Riwayat" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Atur Ulang" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatif" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rentang" #: data/ui/autogain.ui:386 #, fuzzy msgid "Output Gain" msgstr "Gain Input" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Masukan" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Gain Input" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Output" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Gain Input" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 #, 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonik" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Frekuensi Target Bass" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Monitor Lantai" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Monitor Lantai" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Kompresi Menekan" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Kompresi Mengangkat" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 #, fuzzy msgid "Compression Mode" msgstr "Modus Kompresi" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 #, fuzzy msgid "Boost Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Besaran" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Attack" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "Waktu Real Time" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Attack" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Rilis" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Rilis" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Ambang Batas" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Rasio" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Knee" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Penguatan" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Tingkat Dry" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Tingkat Wet" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Sumber" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 #, fuzzy msgid "Middle" msgstr "Volume Kanal Tengah" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Kiri" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Kanan" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Minimum" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Maksimal" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Sidechain" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Penundaan Kiri Kanan" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Kanan" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Volume Kanal Sisi" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Aturan Bawaan" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Peak" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Filter High Pass" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Sidechain" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipe" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:700 #, fuzzy msgid "Feed-back" msgstr "Volume Penyuapan" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Sidechain" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Pembatas Masukan" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Pra-Amplifikasi" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Pengaktifan Ulang" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Sidechain" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "High Pass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekuensi" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Mati" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 #, fuzzy msgid "12 dB/oct" msgstr "Lowpass 12dB/oktaf" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 #, fuzzy msgid "24 dB/oct" msgstr "Lowpass 24dB/oktaf" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 #, fuzzy msgid "36 dB/oct" msgstr "Lowpass 36dB/oktaf" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Filter High Pass" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frekuensi Tinggi" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 #, fuzzy msgid "Low-Pass" msgstr "Band Rendah" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Filter High Pass" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Besar Gain" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Besar Lembah" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 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:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 #, fuzzy msgid "Log Scale" msgstr "Skala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autogain" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Rataan Frekuensi" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Jumlah Sampel" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Bungkam" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekuensi" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Peak" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekuensi" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Besar Gain" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekuensi" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Level" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekuensi" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Peak Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekuensi" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laksitas" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Terlacak" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Pengurangan" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Penundaan" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Balikkan Phase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor Derau" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Keseimbangan" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Sidechain Kiri" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Sidechain Kanan" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Pisahkan Kanal" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Respons Datar" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Hitung Frekuensi" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Jumlah Band" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Impor Preset" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Impor Preset" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Besar Lembah" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kualitas" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Lebar" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Langit-langit" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Pra-Amplifikasi Sidechain" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Penautan Stereo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Sidechain" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Gain Otomatis" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Gain Otomatis" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Gain Otomatis" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Gain Otomatis" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Kiri" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Kanan" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidechain Kiri" #: data/ui/limiter.ui:714 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:104 #, fuzzy msgid "Clipping" msgstr "Total Kanal" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Langit-langit" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Daftar Band" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Akhir Band" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Mode Kompresi Band" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bypass Band" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Opsi Sidechain Band" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Mode Stereo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filter Low-Cut" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Frekuensi Filter Low-Cut" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filter High-Cut" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Frekuensi Filter High-Cut" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "PreAmp" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Gain Input" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Bentuk Kurva" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Gain Input" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Preset Output" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Daftar Keluaran Preset Otomatis" #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Pembatas Masukan" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Preset Input" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Preset Input" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 #, fuzzy msgid "Clients" msgstr "Sen" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Sen" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Uji Sinyal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Hidupkan" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Total Kanal" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Total Kanal" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Tabel Sinus" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Jendela" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Nada" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Seminada" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Referensi" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Referensi" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Hapus Berkas Preset Ini" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 #, fuzzy msgid "Add Effect" msgstr "Efek Input" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Gaya" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Gunakan Tema Gelap" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Sembunyikan Menu di Klik Luar" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Eksperimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Tutup jendela" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Tinggi" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Lebar Garis" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Spektrum Batangan" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Tampilkan batar bar" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Sudut Bulat" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Warna" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Garis dan Bar" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Label Sumbu" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Rentang Frekuensi" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maksimal" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Muat" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Simpan Setelan Saat Ini Ke Berkas Preset" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Simpan Setelan Saat Ini Ke Berkas Preset" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Hapus Berkas Preset Ini" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Nama Preset Input Baru" #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Buat Preset" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Impor Preset" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Cari Preset Input" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Daftar Preset Input" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Pembasahan Frekuensi Tinggi" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Ukuran Ruangan" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Kecil" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Sedang" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Besar" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Terowongan" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Besar/Halus" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Eksperimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusi" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pra Tunda" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Waktu Decay" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Potong Bass" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Potong Treble" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Suasana" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Tembok Kosong" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Ruangan" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Aula Besar Kosong" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Model Standar" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Daftar Model RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Model Aktif" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresor Derau" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Level" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Masukan Keseimbangan" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Kliping Lunak" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Tingkat Softclip" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriks Stereo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "Kiri-Kanan > Kiri-Kanan (Stereo Standar)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "Kiri-Kanan > Tengah (Stereo ke Sisi Tengah)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "Tengah > Kiri-Kanan (Sisi Tengah ke Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "Kiri-Kanan > Kiri-Kiri (Kanal Kiri Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "Kiri-Kanan > Kanan-kanan (Kanal Kanan Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "Kiri-Kanan > Kiri+Kanan (Kiri Mono + Kanan Mono)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "Kiri-Kanan > Kanan-Kiri (Pembalikan Setereo)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Mode Stereo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Volume Kanal Sisi" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Keseimbangan Sisi" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Volume Kanal Tengah" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama Kanal Tengah" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Keluaran Balance" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Penundaan Kiri/Kanan" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Penundaan Kiri Kanan" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Basis Stereo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, fuzzy msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Tutup EasyEffects. Berguna Ketika Berjalan dalam Modus Layanan." #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Atur Ulang EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Sembunyikan jendela." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Tampilkan Preset Tersedia." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Muat Berkas Impuls" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Impor File Impuls" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Buka" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Respons Impuls" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Muat Impuls" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Hapus Impuls" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Muat Berkas Impuls" #: src/convolver_ui.cpp:394 #, fuzzy msgid "Failed To Load The Impulse File" msgstr "Tidak dapat Memuat Berkas Impuls" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Perekam" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Pemain" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Preset APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Preset APO" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Impor File Preset APO" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Preset Input" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Gain Input" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Gain Input" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Tambah" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplikasi" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #~ 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 "Search Output Preset" #~ msgstr "Cari Preset Keluaran" #~ msgid "Output Presets List" #~ msgstr "Daftar Preset Keluaran" #~ 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" #, 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" #~ 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 "Dry" #~ msgstr "Dry" #~ 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.6/po/it_IT.po000066400000000000000000003165011460155372000160250ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 20:01+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-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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Profili\"" #: 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:270 msgid "Change the volume of this application" msgstr "Modifica il volume di questa applicazione" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silenzio" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Cronologia Massima" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Riferimento" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentaneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Breve-Termine" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrato" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Media Geometrica (MBI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Media Geometrica (MB)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Media Geometrica (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Media Geometrica (BI)" #: data/ui/autogain.ui:127 msgid "History" msgstr "Cronologia" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Reimposta" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Gamma" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Guadagno Uscita" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Ingresso" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Guadagno in Ingresso del Plugin" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Uscita" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Guadagno in Uscita del Plugin" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Armoniche" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Soglia" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Limite Inferiore" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Valore Limite Inferiore" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modalità" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Riduttiva" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Espansiva" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Incrementale" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modalità Compressione" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Soglia Incremento" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Quantità Incremento" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Attacco" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Soglia" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Tempo di Attacco" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Soglia di Attacco" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Rilascio" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Tempo di Rilascio" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Soglia di Rilascio" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Rapporto" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Curvatura" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Guadagno" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Livello Dry" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Livello Wet" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidechain" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Sorgente" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Medio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lato" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Sinistro" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Destro" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Sorgente Sidechain" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Sinistro/Destro" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Destro/Sinistro" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Mid/Lato" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Lato/Mid" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Sorgente Divisione Stereo" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Picco" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Filtro Passa-Basso" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Media Mobile Semplice" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Modalità Sidechain" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Ascolta Sidechain" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Esterna" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Tipo Sidechain" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Dispositivo Ingresso" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "PreAmplificazione" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reattività" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Filtri Sidechain" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Passa-Alto" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frequenza" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Off" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/ott" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/ott" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/ott" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Modalità Filtro Passa-Alto" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Frequenza Filtro Passa-Alto" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Passa-Basso" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Modalità Filtro Passa-Basso" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Guadagno" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Envelope" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "S" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spettro" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Scala Logaritmica" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Auto Guadagno" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Frequenza" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Campioni" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Silenzia" #: 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:116 msgid "Frequency 1 Split" msgstr "Frequenza 1 Split" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Picco" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frequenza 2 Picco" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Guadagno" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frequenza 1 Guadagno" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Livello" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frequenza 2 Livello" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Picco Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frequenza 2 Picco Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Lassità" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Rilevato" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Riduzione" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Delay" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inversione di Fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Soglia Minima di Elaborazione ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Soglia Minima di Elaborazione DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Valore Minimo del Buffer" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Post Filtro Beta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Lunghezza Filtro" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Soppressione Eco Residuale" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Bilanciamento" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Tono Sinistro" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Tono Destro" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Separa Canali" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Risposta Piatta" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcola Frequenze" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Ordina Bande" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importa Profilo" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Esporta Profilo" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pendenza" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Isola" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualità" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Ampiezza" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Limite Superiore" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Isteresi" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Inizio Zona Attacco" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "PreAmplificazione Sidechain" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Incremento" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Relazione Canali" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Sidechain Esterna" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Sorgente Sidechain Esterna" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Auto Regolazione" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Auto Regolazione Attacco" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Auto Regolazione Rilascio" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Auto Regolazione Curvatura" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Guadagno Sinistro" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Guadagno Destro" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidechain Sinistro" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Clipping" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Limite Superiore" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Lista Bande" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Fine Banda" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Banda Modalità Compressione" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bypass Banda" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Opzioni Sidechain Banda" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Divisione Stereo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Taglia-Basso" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Frequenza Filtro Taglia-Basso" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Taglia-Alto" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Frequenza Filtro Taglia-Alto" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "PreAmp" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Guadagno Banda" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Envelope Banda" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Curva Banda" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Dispositivi di Uscita" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Profili di Uscita" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Crea Associazione" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Aggiungi Profilo di Auto Caricamento in Uscita" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Profili di Auto Caricamento in Uscita" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Dispositivi di Ingresso" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Profili di Ingresso" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Aggiungi Profilo di Auto Caricamento in Ingresso" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Profili di Auto Caricamento in Ingresso" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduli" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Lista Moduli" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Client" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Lista Client" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Segnale di Test" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stato" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Abilitato" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Proprietà" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canali" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Entrambi" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Entrambi i Canali" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Tipo Onda" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusoidale" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Finestra di Rilevazione" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Lunghezza di Sovrapposizione" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Intonazione" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitoni" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Differenza Tempo" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Differenza Frequenza" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Rimuovi questo effetto" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Abilita/disabilita questo effetto" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Cambia la posizione di questo effetto" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Aggiungi Effetto" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Lista Moduli Utilizzati" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Nessun Effetto" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Intervallo di Aggiornamento (Misuratori di Livello e Spettro)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Frequenza Aggiornamento (Plugin LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stile" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Usa Tema Scuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Chiudi Menu con Click Esterno" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Funzionalità Sperimentali" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Finestra Nativa dei Plugin" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altezza" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Spessore Linea" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Riempi" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Mostra Bordo" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Angoli Arrotondati" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Scala Dinamica" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Colore" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linee e Barre" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Etichette sull'Asse" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Gamma Frequenze" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minima" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Massima" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Carica" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "Rimuovi la configurazione attuale e carica questo profilo" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Salva la configurazione attuale in questo profilo" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Rimuovi questo profilo" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Nome del Nuovo Profilo" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Crea un nuovo profilo" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importa un profilo" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Cerca Profilo" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Lista Profili" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Smorza Alte Frequenze" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Dimensione Stanza" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Piccola" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Media" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/liscia" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Sperimentale" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Diffusione" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Ritardo" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tempo Decay" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Taglio Bassi" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Taglio Alti" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Mura Vuote" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Stanza" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Sala Grande Vuota" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Modello Standard" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Lista Modelli RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Modello Non Caricato" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modello Attivo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Continuo" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Soppressione Rumore" #: data/ui/speex.ui:147 msgid "Level" msgstr "Livello" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Bilanciamento Ingresso" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Livello Softclip" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matrice Stereo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "SD > SD (Predefinito Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "SD > MS (Stereo a Medio-Lato)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > SD (Medio-Lato a Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "SD > SS (Canale Sinistro Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "SD > DD (Canale Destro Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "SD > S+D (Mono Somma S+D)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "SD > DS (Inverti Canali Stereo)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Modalità Stereo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Livello Lato" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Bilanciamento Lato" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Livello Medio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama Medio" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Bilanciamento in Uscita" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Delay S/D" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Ritardo Sinistro Destro" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Stereo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Chiudi Easy Effects. Utile in esecuzione come servizio." #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "Stampa la versione di easyeffects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Reimposta Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Nascondi la Finestra." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Mostra profili disponibili." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Il File È Irregolare" #: src/convolver_menu_impulses.cpp:128 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:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Sono Supportati Soltanto File di Risposta Impulsiva in Formato Stereo" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "File di Risposta Impulsiva Non Importato" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importa File di Impulso" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Apri" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Risposta Impulso" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Carica Impulso" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Rimuovi Impulso" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Nessun File di Risposta Impulsiva Caricato" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Impossibile Caricare il File di Risposta Impulsiva" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Registratori" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Riproduttori" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effetti" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importa File di Profilo APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Profili APO" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "Esporta File di Profilo EqualizerAPO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Salva" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "Profili EqualizerAPO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importa File di Profilo GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Profili GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Misuratore Livello Uscita" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Rimuovi" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Dispositivo Uscita" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Aggiungi" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Salvare?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Eliminare?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Profilo Non Caricato Correttamente" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Formato Errato nella Lista delle Applicazioni Escluse" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "Errore Generico nel Caricamento della Lista delle Applicazioni Escluse" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "Formato Errato nella Lista degli Effetti" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Errore Generico nel Caricamento della Lista degli Effetti" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Uno o Più Parametri Hanno un Formato Errato" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "Errore Generico nel Caricamento dell'Effetto" #: 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "Utilizzo {}" #~ 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 "Search Input Preset" #~ msgstr "Cerca Profilo di Ingresso" #~ msgid "Input Presets List" #~ msgstr "Lista Profili 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 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 "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 "Updated translations" #~ msgstr "Traduzioni aggiornate" #~ 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.6/po/ja.po000066400000000000000000003304201460155372000154030ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "このアプリケーションの音量を変更" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "サイレンス" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "最大履歴" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "リファレンス" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "瞬間的" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "短期" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "統合" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "幾何平均 (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "幾何平均 (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "幾何平均 (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "幾何平均 (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "履歴をリセット" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "リセット" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "相対的" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "範囲" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "出力ゲイン" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "入力" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "プラグイン入力ゲイン" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "出力" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "プラグイン出力ゲイン" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "名前" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "プロファイル" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "ハーモニクス" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "範囲" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "フロア" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "フロア値" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "モード" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "下方向" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "上方向" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "ブースト" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "圧縮モード" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "ブーストしきい値" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "ブースト量" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "アタック" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "時間" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "しきい値" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "アタックタイム" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "アタックしきい値" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "リリース" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "リリース時間" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "リリースしきい値" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "比率" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "ニー" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "メイクアップ" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Dry レベル" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Wet レベル" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "サイドチェーン" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "ソース" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "中央" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "サイド" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "左" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "右" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "最小" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "最大" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "サイドチェーンソース" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "ディレイ 左 右" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "右" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "サイド" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "サイド" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "ステレオモード" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "ピーク" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "ローパスフィルタ" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "単純移動平均" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "サイドチェーンモード" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "外部サイドチェーン" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "タイプ" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "フィードフォワード" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "フィードバック" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "外部" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "サイドチェーンタイプ" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "入力デバイス" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "プリアンプリーション" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "反応性" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "ルックアヘッド" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "サイドチェーンフィルター" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "ハイパス" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "周波数" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "オフ" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "ハイパスフィルターモード" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "ハイパスフィルター周波数" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "ローパス" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "ローパスフィルターモード" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "ゲイン" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "包装" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "カーブ" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "左チャンネル" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "スペクトラム" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "ログスケール" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "オートゲイン" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "レート" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "サンプル" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "フィード" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "バイパス" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "周波数 1 スプリット" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 ピーク" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "周波数 2 ピーク" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 ゲイン" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "周波数 1 ゲイン" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 レベル" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "周波数 2 レベル" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 ピーク Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "周波数 2 ピーク Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "ゆるみ" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "検出" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "減少" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "ディレイ" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "位相反転" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "フィルター長" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "フィルター長" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "残留エコー抑制" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "バランス" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "左ピッチ" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "右ピッチ" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "チャンネルの分割" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "フラットレスポンス" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "周波数の計算" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "バンドの並べ替え" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "プリセットをインポート" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "プリセットをインポート" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "スロープ" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "ソロ" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "品質" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "幅" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "切り上げ" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "ゾーン" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "ヒステリシス" #: data/ui/gate.ui:336 msgid "Mix" msgstr "ミックス" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "アタックゾーンスタート" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "サイドチェーン PreAmplification" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "ブースト" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "ステレオリンク" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "外部サイドチェーン" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "外部サイドチェーンソース" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "オートレベリング" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "オートレベリングアタック" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "オートレベリングリリース" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "オートレベリングニー" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "左ゲイン" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "右ゲイン" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "左サイドチェーン" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "クリッピング" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "バンドリスト" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "バンド 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "バンド 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "バンド 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "バンド 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "バンド 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "バンド 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "バンド 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "バンドエンド" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "バンド圧縮モード" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "バンドバイパス" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "バンドサイドチェーンオプション" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "ステレオモード" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "ローカットフィルター" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "ローカットフィルター周波数" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "ハイカットフィルター" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "ハイカットフィルター周波数" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "プリアンプ" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "バンドゲイン" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "バンドエンベロープ" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "バンドカーブ" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "出力デバイス" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "出力プリセット" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "アソシエーションを作成" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "自動読み込み出力プリセットを追加" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "自動読み込み出力プリセットリスト" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "入力デバイス" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "入力プリセット" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "自動読み込み入力プリセットを追加" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "自動読み込み入力プリセットリスト" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "モジュール" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "モジュールリスト" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "クライアント" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "クライアントリスト" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "テスト信号" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "状態" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "有効" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "プロパティ" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "チャンネル" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "両方" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "両方チャンネル" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "波形" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "正弦波" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "ウィンドウを閉じる" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "フィルター長" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "ピッチ" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "半音" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "リファレンス" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "リファレンス" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "このエフェクトを削除" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "このエフェクトの有効化/無効化" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "このエフェクトの位置を変更する" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "エフェクトの追加" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "使用プラグインリスト" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "エフェクトなし" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "更新間隔(レベルメータ、スペクトラム)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "スタイル" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "ダークテーマを使用" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "外側クリックでメニュー非表示" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "実験的" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "ウィンドウを閉じる" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "高さ" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "線幅" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "塗りつぶし" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "バーの境界線を表示" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "角丸" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "色" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "線とバー" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "軸ラベル" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "周波数範囲" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "最小" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "最大" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "ロード" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "現在の設定をこのプリセットファイルに保存" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "現在の設定をこのプリセットファイルに保存" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "このプリセットファイルを削除" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "新規入力プリセット名" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "プリセットを作成" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "プリセットをインポート" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "入力プリセットを検索" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "入力プリセットリスト" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "高周波ダンピング" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "部屋のサイズ" #: data/ui/reverb.ui:83 msgid "Small" msgstr "小" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "中" #: data/ui/reverb.ui:85 msgid "Large" msgstr "大" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "トンネル" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "大/なめらか" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "実験的" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "拡散" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "プリディレイ" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "減衰時間" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "ベースカット" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "高音カット" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "環境" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "何もない壁" #: data/ui/reverb.ui:596 msgid "Room" msgstr "部屋" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "何もない大きなホール" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "ディスコ" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "モデル" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "標準モデル" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "RNNoise モデルリスト" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "モデルがロードされていません" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "アクティブモデル" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "続ける" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "ノイズ対策" #: data/ui/speex.ui:147 msgid "Level" msgstr "レベル" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "入力バランス" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "ソフトクリップ" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "ソフトクリップレベル" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "ステレオマトリックス" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (ステレオデフォルト)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (ステレオからミッドサイド)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (ミッドサイドからステレオ)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (モノラル左チャンネル)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (モノラル右チャンネル)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (モノラル合計 L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (ステレオチャンネル反転)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "ステレオモード" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "サイドレベル" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "サイドバランス" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "中間レベル" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "中間パノラマ" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "出力バランス" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "ディレイ L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "ディレイ 左 右" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "ステレオベース" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" "Easy Effects を終了します。サービスモードで動作しているときに便利です。" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Easy Effects をリセット。" #: src/application.cpp:605 msgid "Hide the Window." msgstr "ウィンドウを隠す。" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "グローバルバイパス。1 で有効、2 で無効、3 でステータス取得" #: src/application.cpp:611 msgid "Show available presets." msgstr "利用可能なプリセットを表示します。" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "このファイルは正しくありません" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" "インパルスファイルが破損しているか、サポートされていない可能性があります" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "ステレオインパルスファイルのみサポートされています" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "インパルスファイルがインポートされていません" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "インパルスファイルをインポート" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "開く" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "インパルスレスポンス" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "インパルスを読み込み" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "インパルスを削除" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "読み込まれたインパルスファイルはありません" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "インパルスファイルを読み込めません" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "レコーダー" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "プレイヤー" #: src/effects_box.cpp:352 msgid "Effects" msgstr "エフェクト" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "APO プリセットファイルをインポート" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO プリセット" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO プリセットが読み込まれていません。ファイル形式が間違っている可能性があり" "ます。内容を確認してください。" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "APO プリセットファイルをインポート" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO プリセット" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ プリセットファイルのインポート" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ プリセット" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "出力レベルメーター" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "削除" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "出力デバイス" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "追加" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "除外されたアプリケーションリスト" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" 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 "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 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 "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 "Updated translations" #~ 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.6/po/ka.po000066400000000000000000001665171460155372000154220ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "სიჩუმე" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "მითითება" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "დაბრუნება" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "ფარდობითი" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "დიაპაზონი" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "გამოტანის გაძლიერება" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "შეყვანა" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "გამოტანა" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "სახელი" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "პროფილი" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "ჰარმონიები" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "ფარგლები" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "იატაკი" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "უმცირესი მნიშვნელობა" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "რეჟიმი" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "ქვევით" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "ზემოთ" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "გაძლიერება" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "შეტევა" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "დრო" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "ზღვარი" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "შეტევის დრო" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "გამოცემა" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "გათავისუფლების დრო" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "პროპორციები" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "მუხლი" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "წყარო" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "შუა" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "გვერდითი" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "მარცხენა" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "მარჯვენა" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "მინ" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "მაქს" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "მარჯვენა" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "მარჯვენა" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "გვერდითი" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "გვერდითი" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "სტერეო რეჟიმი" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "პიკი" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "დაბალსიხშირული ფილტრი" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "ტიპი" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "გარე" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "შეყვანის მოწყობილობა" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "სიხშირე" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "გამორთ" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "გაძლიერება" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "კონვერტი" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "მრუდი" #: data/ui/convolver.ui:40 msgid "L" msgstr "მხ" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "მარცხენა არხი" #: data/ui/convolver.ui:53 msgid "R" msgstr "მჯ" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "სპექტრი" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "სიხშირე" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "სემპლები" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "ლენტა" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "გამოვლინდა" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "დაყოვნება" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "ბალანსი" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "არხების გაყოფა" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "პრესეტის შემოტანა" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "პრესეტის შემოტანა" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "დახრა" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "სოლო" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "ხარისხი" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "სიგანე" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "ჭერი" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "ზონა" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "მიქსი" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "გაძლიერება" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "კლინინგი" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "სტერეო რეჟიმი" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "მაღალი ხარისხი" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "გამოტანის მოწყობილობები" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "შემომტანი მოწყობილობები" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "მოდულები" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "კლიენტი" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "მდგომარეობა" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "ჩართულია" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "არხები" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "ორივე" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "ორივე არხი" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "ტალღოვანი" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Pitch" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "მითითება" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "მითითება" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "ეფექტის დამატება" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "სტილი" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "ექსპერიმენტალური" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "ხაზის სიგანე" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "ღერძის ჭდეები" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "მინიმუმი" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "მაქსიმუმი" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "ჩატვირთვა" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "შაბლონი" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "პრესეტები" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "პატარა" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "საშუალო" #: data/ui/reverb.ui:85 msgid "Large" msgstr "დიდი" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "გვირაბი" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "ექსპერიმენტალური" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "დიფუზია" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bass-ის მოჭრა" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "მაღალი სიხშირეების მოჭრა" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "ოთახი" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "დისკო" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "მოდელები" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "გაგრძელება" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "დონე" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "სტერეო რეჟიმი" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "გახსნა" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "სალამურები" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "მოთამაშეები" #: src/effects_box.cpp:352 msgid "Effects" msgstr "ეფექტები" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "ეკვალაიზერი" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "წაშლა" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "გამოტანის მოწყობილობები" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "დამატება" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, 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.6/po/km.po000066400000000000000000001521461460155372000154270ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.6/po/ko.po000066400000000000000000002071671460155372000154350ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "이 응용프로그램의 음량 변경하기" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "최대 히스토리" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "참조" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "순간" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "단기" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "통합" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "기하 평균 (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "기하 평균 (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "기하 평균 (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "기하 평균 (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "히스토리 재지정" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "재지정" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "상대적" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "범위" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "아웃풋 게인" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "인풋" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "플러그인 인풋 게인" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "아웃풋" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "플러그인 아웃풋 게인" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "이름" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "프로필" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "고조파" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "스코프" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "플로어" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "플로어 값" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "모드" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "아래방향" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "윗방향" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "증폭" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "압축 모드" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "부스트 한계값" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "부스트 양" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "어택" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "타임" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "한계값" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "어택 타임" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "어택 한계값" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "릴리스" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "릴리스 타임" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "릴리스 한계값" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "비율" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 #, fuzzy msgid "Knee" msgstr "Knee" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "메이크업" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "드라이 레벨" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "웨트 레벨" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "사이드체인" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "소스" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "중간" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "측면" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "좌측" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "우측" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "최소" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "최대" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "사이드체인 소스" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "좌측/우측" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "우측/좌측" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "중간/측면" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "측면/중간" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "스테레오 분할 모드" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "피크" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "로우패스 필터" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "단순 이동 평균" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "사이드체인 모드" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "사이드체인 듣기" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "유형" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "피드포워드" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "피드백" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "외부" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "사이드체인 유형" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "입력 장치" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "프리앰플리케이션" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "반응성" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "룩 어헤드" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "사이드체인 필터" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "하이패스" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "주파수" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "끄기" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "하이패스 필터 모드" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "하이패스 필터 주파수" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "로우패스" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "로우패스 필터 모드" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "게인" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "엔벌로프" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "커브" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "좌측 채널" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "스펙트럼" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "로그 스케일" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "오토게인" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "속도" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "샘플" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "피드" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "바이패스" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "주파수 1 분할" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 피크" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "주파수 2 피크" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 게인" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "주파수 1 게인" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 레벨" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "주파수 2 레벨" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 피크 Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "주파수 2 피크 Q" #: data/ui/deesser.ui:272 #, fuzzy msgid "Laxity" msgstr "Laxity" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "감지됨" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "감소" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "지연시간" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "포스트 필터 베타" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "필터 길이" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "피치 우측" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "분할 채널" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "프리셋 가져오기" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "프리셋 내보내기" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "대역폭 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "대역폭 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "대역폭 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "대역폭 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "대역폭 압축 모드" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "대역폭 바이패스" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "스테레오 분할" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "로우컷 필터 주파수" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "하이컷 필터 주파수" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "대역폭 게인" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "출력 장치" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "출력 프리셋" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "자동 로딩 출력 프리셋 추가하기" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "출력 자동 로딩 프리셋 목록" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "입력 장치" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "입력 프리셋" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "자동 로딩 입력 프리셋 추가하기" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "입력 자동 로딩 프리셋 목록" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "모듈" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "모듈 목록" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "클라이언트" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "클라이언트 목록" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "테스트 신호" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "상태" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "활성화됨" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "속성" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "채널" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "두 채널 모두" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "파형" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "사인파" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "탐색 창" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "오버랩 길이" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "피치" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "세미톤" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "템포 차이" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "속도 차이" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "이 효과 제거하기" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "효과 추가하기" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "사용된 플러그인 목록" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "효과 없음" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "업데이트 빈도 (LV2 플러그인)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "주파수 범위" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "불러오기" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "현재 설정을 취소하고 이 프리셋을 불러옵니다" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "이 프리셋 파일에 현재 설정 저장하기" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "이 프리셋 파일 제거하기" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "새 프리셋 이름" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "새 프리셋 만들기" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "프리셋 가져오기" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "프리셋 검색하기" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "프리셋 목록" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "고주파 감쇠" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "모델을 불러오지 않았습니다" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "F2 레벨" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "입력 밸런스" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "스테레오 모드" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "출력 밸런스" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "EasyEffects를 재설정합니다." #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "사용 가능한 프리셋을 표시합니다." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Impulse 파일을 가져오지 않았습니다" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Impulse 파일 가져오기" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "열기" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Impulse 불러오기" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Impulse 제거하기" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "불러온 Impulse 파일 없음" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Impulse 파일을 불러오지 못했습니다" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "재생기" #: src/effects_box.cpp:352 msgid "Effects" msgstr "효과음" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "APO 프리셋 파일 가져오기" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO 프리셋" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "APO 프리셋을 불러오지 못했습니다. 파일 형식이 지원되지 않을 수 있습니다. 내용" "을 확인하세요." #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "APO 프리셋을 내보낼 때 분할 채널은 아직 지원되지 않습니다." #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO 프리셋 파일 내보내기" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO 프리셋" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ 프리셋 파일 가져오기" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ 프리셋" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "출력 레벨 미터" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "제거" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "출력 장치" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "제외된 프로그램 목록" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "{} 사용 중" #~ msgid "Uniform" #~ msgstr "균일" #~ msgid "New Output Preset Name" #~ msgstr "새 출력 프리셋 이름" #~ msgid "Search Output Preset" #~ msgstr "출력 프리셋 검색하기" #~ msgid "Output Presets List" #~ 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.6/po/meson.build000066400000000000000000000001121460155372000166030ustar00rootroot00000000000000i18n_mod.gettext(meson.project_name(), preset: 'glib' ) subdir('news') easyeffects-7.1.6/po/nb_NO.po000066400000000000000000001773361460155372000160230ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "«Forhåndsinnstillinger»" #: 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 #, fuzzy 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:270 #, fuzzy msgid "Change the volume of this application" msgstr "Endre volumet på applikasjonen" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 #, 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:57 msgid "Silence" msgstr "Stillhet" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maksimum historikk" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referanse" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Øyeblikkelig" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Midlertidig" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrert" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Geometrisk gjennomsnitt (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Tilbakestill historikk" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Tilbakestill" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Utgangs Forsterkning" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Inngang" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Programvareutvidelse inngang forsterkning" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Utgang" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Programvareutvidelse utgang forsterkning" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Overtoner" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Gulv" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Gulvverdi" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Nedover" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Oppover" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Kompresjonsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Terskel" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 #, fuzzy msgid "Release" msgstr "frigjøring grense" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Kne" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Kilde" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Midten" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Høyre" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Maks" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Venstre/Høyre" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Høyre/Venstre" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Splitt Stereokilde" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 #, fuzzy msgid "Peak" msgstr "Top" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Lavpassfilter" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 #, fuzzy msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Inndataenhet" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Førforsterkning" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Høypass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Av" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Høypassfilter-modus" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Høypassfilter-frekvens" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Lavpass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Lavpassfilter-modus" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Forsterkning" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Log-skala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autoforsterk" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:169 #, fuzzy msgid "Samples" msgstr "Prøver" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Forstum" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekvens 1 Splitt" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "F2 Top" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Forsterkning" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Reduksjon" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverter fase" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlengde" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengde" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Reduksjon" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balanse" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Høyre" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Beregn frekvenser" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Bånd" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importer forhåndsinnstillinger" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Bredde" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Bånd 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Bånd 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Bånd 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Bånd 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Bånd 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Bånd 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Bånd 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Bånd-slutt" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereomodus" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Kvalitet" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 #, 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:254 msgid "Output Devices" msgstr "Utgangsenheter" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Utgangsforhåndsinnstillinger" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Opprett tilknytning" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Inngangsenheter" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Inngangsforhåndsinnstillinger" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduler" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Modulliste" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klienter" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Klientliste" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Tilstand" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Påskrudd" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Egenskaper" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Begge" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Begge kanaler" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Bølgeform" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusbølge" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Lukk vinduet" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filterlengde" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Referanse" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Referanse" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modellfilen" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Legg til effekt" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stil" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Ifør mørk drakt" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Eksperimentelt" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Lukk vinduet" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Høyde" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Linjebredde" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Farge" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Nytt inngangforhåndsinnstillingsnavn" #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Opprett forhåndsinnstilling" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importer forhåndsinnstillinger" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Forhåndsinnstilling" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Inngangforhåndsinnstillingsliste" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Høyfrekvensdemping" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Romstørrelse" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Lite" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Middels" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Stort" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Eksperimentelt" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Tor tom hall" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Diskotek" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktiv modell" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Reduksjon" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereomodus" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Avslutt EasyEffects" #: src/application.cpp:605 #, fuzzy msgid "Hide the Window." msgstr "Skjul vinduet." #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "Vis tilgjengelige forhåndsinnstillinger." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Åpne" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Opptakere" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Avspillere" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekter" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importer forhåndsinnstillinger" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Lagre" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importer forhåndsinnstillinger" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Inngangsforhåndsinnstillinger" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Utgangsenhet" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Fjern" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Utgangsenhet" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Legg til" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Lagre?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Slette?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Svartelistede programmer" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "" #: 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Bruker {}" #~ 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.6/po/news/000077500000000000000000000000001460155372000154235ustar00rootroot00000000000000easyeffects-7.1.6/po/news/LINGUAS000066400000000000000000000001531460155372000164470ustar00rootroot00000000000000cs 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.6/po/news/POTFILES.in000066400000000000000000000000601460155372000171740ustar00rootroot00000000000000data/com.github.wwmm.easyeffects.metainfo.xml.ineasyeffects-7.1.6/po/news/af.po000066400000000000000000001207051460155372000163560ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" easyeffects-7.1.6/po/news/cs.po000066400000000000000000002276531460155372000164070ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2023-08-17 02:58+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" #: 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 #, 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ý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 #, 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á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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Funkce:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Vylepšené překlady" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Opravy chyb:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Ostatní poznámky:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Vylepšené překlady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 #, 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:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Vylepšené překlady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 #, 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:295 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:297 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:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/da.po000066400000000000000000002165411460155372000163600ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Forindstil Autolæsning" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 #, 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:341 #, 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/de.po000066400000000000000000002632451460155372000163670ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2023-08-03 16:59+0000\n" "Last-Translator: Simon Hahne \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.0-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 #, 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 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." #: 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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Übersetzungen wurden aktualisiert" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 #, fuzzy msgid "Bug fixes:" msgstr "Fehlerbehebungen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Weitere Anmerkungen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Übersetzungen wurden aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #, 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:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 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:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "automatisch geladene Voreinstellungen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #, fuzzy msgid "Improved translations" msgstr "Übersetzungen wurden aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 #, 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 #, 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:308 #, 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:309 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:310 #, 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:311 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:313 #, 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:314 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:315 msgid "Avoid crashes when pw-mididump is running" msgstr "Absturz-Probleme durch pw-mididump wurden behoben" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 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:324 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:325 #, 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:326 #, 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:327 #, 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:328 msgid "Many translation updates" msgstr "Unzählige Übersetzungen aktualisiert" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 #, 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:331 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:339 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:340 #, 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:341 #, 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:342 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:344 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:352 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:354 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:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Computer in Bereitschaft werden nun besser unterstützt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 #, 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:384 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:385 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:386 #, 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:387 #, 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:388 #, 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:390 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:392 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:393 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:401 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:402 #, 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:403 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:405 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:406 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:408 #, 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:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 #, 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:434 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:435 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:443 #, 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:451 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:452 #, 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Die chinesische Übersetzung wurde aktualisiert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Die italienische Übersetzung wurde aktualisiert." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 #, 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:472 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:473 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:474 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:476 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:477 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:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 #, 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 #, 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:521 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:523 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:531 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:532 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:533 #, 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer wurde durch PipeWire-Filter ersetzt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/easyeffects-news.pot000066400000000000000000001170611460155372000214300ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.6/po/news/es.po000066400000000000000000003014401460155372000163740ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 23: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.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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Traducciones actualizadas." #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Corrección de errores:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Otras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 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:73 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:74 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:76 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:87 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:98 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:107 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:108 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:110 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:120 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:129 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:139 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:140 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:141 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:144 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:145 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:153 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:154 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:155 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:157 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:159 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:167 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:168 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:169 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:171 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:180 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:181 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:182 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:184 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:186 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:194 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:196 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:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "Mejora del rendimiento al restablecer las claves." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 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:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Pequeñas mejoras en el cancelador de eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 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:248 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:249 msgid "The documentation has been updated." msgstr "Se ha actualizado la información." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Mejora de la autocarga de los preajustes." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "La documentación ha sido actualizada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Mejoría en mensajes de depuración" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Traducciones mejoradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 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:323 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:324 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:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Muchas actualizaciones de las traducciones" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 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:352 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:354 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:362 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:363 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:364 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:365 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:368 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:376 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:384 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:385 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:386 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:387 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:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "La biblioteca tbb es una nueva dependencia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Mejor apoyo a la Tecnología de Asistencia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 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:434 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:435 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:443 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:451 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:452 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Traducción al chino actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Traducción al italiano actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 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:472 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:473 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:474 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:476 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:477 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:478 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:479 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:480 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 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:498 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:499 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:500 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:508 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:510 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:518 msgid "Improved equalizer interface." msgstr "Se ha mejorado la interfaz del ecualizador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 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:521 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:523 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:531 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:532 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:533 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "Se ha sustituido gtkmm3 por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 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:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace (wwmm)" #~ 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.6/po/news/es_CO.po000066400000000000000000002277661460155372000167770ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Traducciones actualizadas" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #, fuzzy msgid "Improved translations" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 #, fuzzy msgid "Many translation updates" msgstr "Traducciones actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 #, 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:341 #, 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:342 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:344 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:352 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:354 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:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Mejor soporte para la suspensión de la computadora." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 #, 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:384 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:385 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:386 #, 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:387 #, 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:388 #, 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:390 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:392 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:393 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:401 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:402 #, 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/es_MX.po000066400000000000000000002157621460155372000170130ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Actualización de traducciones." #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Corrección de errores:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Otras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 #, 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:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 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:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 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:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 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:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/es_VE.po000066400000000000000000002136571460155372000170020ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/eu.po000066400000000000000000001000341460155372000163720ustar00rootroot00000000000000# 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.6/po/news/fi.po000066400000000000000000001016701460155372000163660ustar00rootroot00000000000000# 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.6/po/news/fr_FR.po000066400000000000000000003221331460155372000167650ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-11 23:18+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.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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Fonctionnalités :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Traductions mises à jour." #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Corrections de bogues :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Autres notes :" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traductions mises à jour" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 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:73 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:74 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:76 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:87 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:98 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:107 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:108 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:110 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:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects peut maintenant être construit avec libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 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:154 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:155 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:157 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:159 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:167 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:168 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:169 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:171 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:180 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:181 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:182 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:184 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:186 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:194 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:196 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:198 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:199 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:209 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:217 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:218 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:220 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:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Petites améliorations de l'annulateur d'écho." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 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:248 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:249 msgid "The documentation has been updated." msgstr "La documentation a été mise à jour." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Chargement automatique des préréglages amélioré." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "La documentation a été mise à jour" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Amélioration des messages de débogage" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Améliorations des traductions" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 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:323 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:324 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:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Nombreuses mises à jour des traductions" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 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:352 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:354 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:362 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:363 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:364 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:365 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:368 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:376 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:384 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:385 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:386 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:387 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:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 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:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Amélioration du support aux technologies d'assistance." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 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:434 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:435 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:443 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:451 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:452 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Mise à jour de la traduction chinoise." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Mise à jour de la traduction italienne." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 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:472 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:473 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:474 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:476 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:477 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:478 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:479 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:480 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 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:498 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:499 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:500 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:508 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:510 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:518 msgid "Improved equalizer interface." msgstr "Interface de l’égaliseur améliorée." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 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:521 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:523 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:531 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:532 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:533 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 a été remplacé par gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 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:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/gl.po000066400000000000000000002713141460155372000163750ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Traducións actualizadas" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Corrección dos erros:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Outras notas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traducións actualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #, 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:107 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:108 #, 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:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #, 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:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 #, 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:246 #, 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:247 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:248 #, 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:249 msgid "The documentation has been updated." msgstr "Actualizouse a documentación." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Carga automática dos presets mellorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "Actualizouse a documentación" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Mellora nas mensaxes da depuración" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Traducións melloradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 #, 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 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:323 msgid "The interface of the pitch plugin was improved" msgstr "Mellorouse a interface do complemento pitch" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 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:325 #, 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:326 #, 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:327 #, 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:328 msgid "Many translation updates" msgstr "Moitas actualizacións nas traducións" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 #, 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:342 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:344 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:352 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:354 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:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Mellorouse o soporte para suspendelo ordenador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 #, 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:384 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:385 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:386 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:387 #, 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:388 #, 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:390 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:392 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:393 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:401 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:402 #, 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:403 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:405 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:406 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:408 #, fuzzy msgid "The tbb library is a new dependency" msgstr "A biblioteca `tbb` é unha nova dependencia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Melloralo apoio á tecnoloxía de asistencia." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 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:434 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:435 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:443 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:451 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:452 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Tradución ao chinés actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Tradución ao italiano actualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 #, 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:472 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:473 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:474 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:476 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:477 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:478 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:479 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:480 #, 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 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:498 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:499 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:500 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:508 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:510 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:518 msgid "Improved equalizer interface." msgstr "Interface do ecualizador mellorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 #, 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:521 #, 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:523 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:531 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:532 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:533 #, 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 foi substituído por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 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:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace (wwmm)" #~ 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.6/po/news/hi.po000066400000000000000000001163141460155372000163710ustar00rootroot00000000000000# 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.6/po/news/hr.po000066400000000000000000002121011460155372000163710ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/id_ID.po000066400000000000000000002246561460155372000167520ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Fitur:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Terjemahan yang diperbarui" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Perbaikan Bug:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Catatan lainnya:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Terjemahan yang diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 #, fuzzy msgid "The documentation has been updated." msgstr "Dukumentasi telah diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Terjemahan yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 #, 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:269 msgid "The documentation has been updated" msgstr "Dukumentasi telah diperbarui" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Pesan debug yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Terjemahan yang ditingkatkan" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 #, 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:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/it_IT.po000066400000000000000000003075461460155372000170120ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-02-21 23:01+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-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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Funzionalità:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Traduzioni aggiornate." #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Bug corretti:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Altre note:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traduzioni aggiornate" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 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:73 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:74 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:76 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:87 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:98 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:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "Compatibilità migliorata con le ultime versioni LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 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:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects è ora compilabile anche con libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 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:154 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:155 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:157 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:159 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:167 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:168 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:169 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:171 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:180 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:181 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:182 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:184 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:186 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:194 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:196 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:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "Performance migliorate sul reset delle impostazioni degli effetti." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 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:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Piccoli miglioramenti all'effetto di riduzione dell'eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 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:248 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:249 msgid "The documentation has been updated." msgstr "La documentazione è stata aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Migliorato il caricamento automatico dei profili." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "La documentazione è stata aggiornata" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Migliorati i messaggi di debug" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Traduzioni migliorate" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 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:323 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:324 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:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Molti aggiornamenti di traduzione" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 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:352 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:354 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:362 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Migliore supporto per la sospensione del computer." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 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:386 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:387 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:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "La libreria tbb è una nuova dipendenza" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Migliorato il supporto alle Tecnologie Assistive." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 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:434 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:435 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:443 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:451 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:452 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Traduzione Cinese aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Traduzione Italiana aggiornata." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 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:472 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:473 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:474 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:476 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:477 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:478 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:479 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:480 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 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:498 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:499 msgid "Fixed the locale in a few widgets" msgstr "Aggiustati i locale in alcuni oggetti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "Corretti gli allineamenti in alcuni oggetti" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 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:518 msgid "Improved equalizer interface." msgstr "Migliorata l'interfaccia dell'equalizzatore." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 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:521 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:523 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:531 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:532 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:533 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 è stato rimpiazzato da gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer è stato rimpiazzato dai filtri nativi PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/ja.po000066400000000000000000003131351460155372000163630ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "機能:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "不具合修正:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "その他の注意事項:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "翻訳の更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" "ディエッサープラグインのしきい値パラメーターがプリセットファイルに保存される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "Linux Studio プラグイン 1.2.3 との互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #, fuzzy msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "サチュレーション警告は、もう隣のウィジェットの位置を変えることはありません" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "エコーキャンセラーの小さな改善。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "Linux Studio プラグイン 1.2.3 との互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "GraphicEQ プリセットは、イコライザーエフェクトにインポートできます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "ドキュメントが更新されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "プリセットの自動読み込みが改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "オートゲイン無音しきい値をユーザーが設定できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "ドライコントロールとウェットコントロールがステレオツールエフェクトに追加され" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 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:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "bluez5 デバイスとのプリセットオートロードコードの互換性が改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "一部のプラグインにウェット/ドライコントロールが追加されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "ドキュメントが更新されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "デバッグメッセージの改善" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "翻訳の改善" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "USB デバイスとのプリセットオートロードコードの互換性が向上しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "ユーザーロケールが適切に設定されていない時に EasyEffects がクラッシュしないよ" "うになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "ストリームのサンプル形式を表示するコードが改善されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "ログにメッセージが出力されるソースコードの行が表示されるようになりました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "オートゲインの最大履歴を変更すると、クラッシュすることがある問題を修正しまし" "た。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "pw-mididump 実行時のクラッシュを回避" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "ピッチプラグインのインターフェースが改善されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "アプリケーションアイコンが QT を使用するデスクトップに対応しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "多くの翻訳の更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "グローバルバイパスの状態を返すコマンドラインオプションが再び動作するようにな" "りました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "モノラルマイクが EasyEffects で正しく動作しない不具合を修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "PipeWire の次期リリース 0.3.44 のサポート" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "コンピュータのサスペンドのサポートが強化されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "設定メニューは、LibAdwaita ウィジェットを使用して再設計されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "メニューの「すべての設定をリセット」が Flatpak でも動作するようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "tbb ライブラリは新しい依存関係です" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "リミッターとマルチバンドコンプレッサーのプラグインで、オプションの外部サイド" "チェーンを使用できるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 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:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "オプションのキュービックボリュームは一般設定で有効にすることができます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "支援技術のサポートが改善されました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "PipeWire のモニターストリームがアプリケーションリストから除外され、削除される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "issue 1172 で報告されたクラッシュが修正されることを期待します。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "スペクトラムがクラッシュするのを防ぎました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "ブロックリストからアプリケーションを削除すると、有効な状態に戻ります。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "プリセットを切り替えたときに、ブロックリストが正しく設定されるようになりまし" "た。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "中国語の翻訳を更新しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "イタリア語の翻訳を更新しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "コンプレッサーのパラメーター Boost Amount に対応しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" "エコーキャンセラーのサンプリングレートが正しく設定されるようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "ディエッサープラグインのしきい値パラメーターがプリセットファイルに保存される" "ようになりました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "クリスタライザーのバンドスプリットを改善し、新しいデフォルトの強度値を追加し" "ました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "イコライザーバンドを追加すると、オフではなくベルに設定されます。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 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:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "PipeWire のポートフィルターノード間のリンク管理を改善しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 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:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "複数の自動読み込みプリセットを設定しても正常に動作するようになりました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "一部のプラグインのダイアログで、一時的なウィンドウが適切に設定されるようにな" "りました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "ピッチプラグインが正しく初期化されない不具合を修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "サチュレーション警告は、もう隣のウィジェットの位置を変えることはありません" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "いくつかのウィジェットのロケールを修正" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "いくつかのウィジェットで誤った配置になっていたのを修正" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "オプションの依存パッケージがインストールされていない場合に発生するセグメン" "テーションフォールトを修正しました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "イコライザーのインターフェースを改善しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "LSP コンプレッサーのブーストモードに対応しました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "アプリケーションとそのリポジトリの名称が PulseEffects から EasyEffects に変更" "されました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 は gtkmm4 に置き換えられました" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer は、ネイティブの PipeWire フィルターに置き換えられました。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "新しいライブラリーが使われるようになり、以前はオプションであったライブラリー" "の一部が必須になりました" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/km.po000066400000000000000000001173031460155372000163770ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.6/po/news/ko.po000066400000000000000000001635371460155372000164130ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "기능:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "버그 수정:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "기타 참고사항:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "업데이트된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "향상된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 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:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "향상된 디버그 메시지" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "향상된 번역" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "피치 플러그인의 인터페이스가 개선되었습니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "이제 응용프로그램 아이콘이 QT를 사용하는 데스크톱과 호환됩니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 #, 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:326 #, 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:327 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:328 msgid "Many translation updates" msgstr "많은 번역 업데이트" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "모노 마이크가 EasyEffects에서 제대로 작동하지 않던 버그를 수정했습니다" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #, fuzzy msgid "Support for the next PipeWire release 0.3.44" msgstr "PipeWire 다음 릴리스 `0.3.44`를 지원" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "중국어 번역이 업데이트되었습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "이탈리아어 번역이 업데이트되었습니다." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/meson.build000066400000000000000000000001031460155372000175570ustar00rootroot00000000000000i18n_mod.gettext(meson.project_name() + '-news', preset: 'glib' )easyeffects-7.1.6/po/news/nb_NO.po000066400000000000000000001535441460155372000167720ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Funksjoner:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Oppdaterte oversettelser" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Feilfikser:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #, fuzzy msgid "Improved translations" msgstr "Oppdaterte oversettelser" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 #, fuzzy msgid "The tbb library is a new dependency" msgstr "`tbb`-biblioteket er en ny avhengighet" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "Oppdatert kinesisk oversettelse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Oppdatert italiensk oversettelse." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 erstattes av gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 #, fuzzy msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer erstattet av systemspesifikke PipeWire-filtre." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/nl.po000066400000000000000000002427651460155372000164140ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2023-05-01 20:52+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 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-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 uitgebreide app waarmee u audio zeer gericht kunt " "afstellen. Het bevat een equalizer, limiter, compressor, galmhulpmiddel en " "nog meer andere hulpmiddelen. Verder bevat de toepassing een ingebouwde " "spectrumanalysator." #: 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 audioserver 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-geluidsserver gebruikt werkt het " "met de meeste, zo niet alle apps die u gebruikt. Alle ondersteunde apps " "worden getoond in het hoofdvenster, 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 geluidsuitvoer kan Easy Effects effecten toepassen " "op een invoerapparaat, zoals een microfoon. Dit is bijvoorbeeld handig bij " "geluidsopnamen, maar werkt ook goed tijdens spraakgesprekken." #: 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:42 msgid "The main page showing two audio output apps" msgstr "De hoofdpagina 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 basversterkerpagina welke audiobedieningselementen toont" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:50 msgid "The convolver page showing audio controls" msgstr "De convolver-pagina welke audiobedieningselementen 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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Functies:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Bijgewerkte vertalingen" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Foutoplossingen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Overige opmerkingen:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Bijgewerkte vertalingen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 #, 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:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 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:196 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:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "Verbeterde prestaties bij het resetten van toetsen." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 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:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Kleine verbeteringen aan de echo-onderdrukking." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 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:248 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:249 msgid "The documentation has been updated." msgstr "De documentatie is bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Automatisch inladen van voorinstellingen verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "De documentatie is bijgewerkt" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Foutopsporingsberichten verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Verbeterde vertalingen" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 msgid "Avoid crashes when pw-mididump is running" msgstr "Crashes verholpen wanneer pw-mididump actief is" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 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:324 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:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Veel vertalingsupdates" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Betere ondersteuning voor slaapstand." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 #, 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:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Verbeterde ondersteuning voor Assistive Technology." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "Chinese vertaling bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Italiaanse vertaling bijgewerkt." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "Regio verbeterd in enkele widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "Verkeerde uitlijning in enkele widgets verbeterd" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "Equalizer-interface verbeterd." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 is vervangen door gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "GStreamer is vervangen door inheemse PipeWire-filters." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/nn.po000066400000000000000000001022161460155372000164000ustar00rootroot00000000000000# 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.6/po/news/pl.po000066400000000000000000002177061460155372000164130ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Funkcje:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Uaktualnione tłumaczenia" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Poprawki błędów:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Inne uwagi:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 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:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #, fuzzy msgid "Improved translations" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 #, fuzzy msgid "Many translation updates" msgstr "Uaktualnione tłumaczenia" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 #, 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:341 #, 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:342 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:344 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:352 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:354 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:362 #, 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Lepsza obsługa uśpienia komputera." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 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:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "Biblioteka tbb jest nową zależnością" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/pt.po000066400000000000000000000773071460155372000164240ustar00rootroot00000000000000# 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: 2023-01-11 02:51+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 4.15.1-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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:40 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:41 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:42 msgid "Wet/dry controls were added for some plugins" msgstr "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:44 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:45 msgid "Improved debug messages" msgstr "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:56 msgid "Improved translations" msgstr "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:68 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:84 msgid "The code that shows the stream sample format has been improved" msgstr "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:89 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:90 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 msgid "Improved support for Assistive Technology." msgstr "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:206 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:229 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:233 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:244 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:245 msgid "Updated Italian translation." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:257 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:269 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:274 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:275 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:285 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:293 msgid "Improved equalizer interface." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: 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 "" #: 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 "" #: 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 "" easyeffects-7.1.6/po/news/pt_BR.po000066400000000000000000003114501460155372000167750ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Características:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." msgstr "Traduções atualizadas" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Correções de falhas ou problemas:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Outras observações:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Traduções atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 #, 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:98 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:107 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:108 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:110 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:120 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:129 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:139 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:140 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:141 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:144 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:145 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:153 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:154 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:155 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:157 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:159 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:167 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:168 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:169 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:171 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:180 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:181 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:182 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:184 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:186 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:194 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:196 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:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "O desempenho foi aprimorado ao redefinir as chaves." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 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:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Pequenas melhorias no cancelador de eco." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 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:248 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:249 msgid "The documentation has been updated." msgstr "A documentação foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "O carregamento automático das predefinições foi aprimorado." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 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:252 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:253 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:255 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:257 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:265 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:266 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:267 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:268 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:269 msgid "The documentation has been updated" msgstr "A documentação foi atualizada" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "As mensagens de depuração foram aprimoradas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "As traduções foram atualizadas" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 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:294 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:295 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:297 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:298 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:307 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:308 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:309 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:310 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:311 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:313 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:314 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:315 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:323 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:324 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:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Muitas atualizações na tradução" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 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:352 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:354 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:362 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:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Melhor suporte para suspensão do computador." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 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:386 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:387 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:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "A biblioteca `tbb` é uma nova dependência" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 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:417 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:418 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:419 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:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Suporte aprimorado para Tecnologia Assistiva." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 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:433 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:434 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:435 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:443 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:451 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:452 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:453 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:454 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:456 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:457 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:458 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:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "A tradução chinesa foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "A tradução italiana foi atualizada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 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:472 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:473 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:474 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:476 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:477 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:478 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:479 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:480 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:481 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:482 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:483 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:491 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:494 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:495 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:496 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:497 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:498 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:499 msgid "Fixed the locale in a few widgets" msgstr "Foi corrigida o idioma em alguns Widgets" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 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:508 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:510 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:518 msgid "Improved equalizer interface." msgstr "A interface do equalizador foi aprimorada." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 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:521 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:523 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:531 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:532 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:533 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "O gtkmm3 foi substituído por gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 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:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/ro.po000066400000000000000000002163411460155372000164120ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/ru.po000066400000000000000000004060021460155372000164130ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 23:01+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Возможности:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Исправление ошибок:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Другие изменения:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Обновлены переводы" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "Эквалайзер может экспортировать основные файлы предустановок APO" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 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:76 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:87 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:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "Плагин DeepFilterNet теперь можно добавить в файл предустановки" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "Улучшена совместимость с последними версиями LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "Исправлена неверная отрисовка характеристик файла импульсного отклика" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects теперь можно собирать и с помощью libc++." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 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:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "Исправлена кнопка Соло в настройках полосы эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "В окно настроек добавлен раздел «Испытательные возможности»." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" "Теперь можно использовать дробные значения полутонов в эффекте Pitch Shift." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "Добавлен новый плагин Уровнемер на основе libebur128." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "Улучшена совместимость с последними версиями PipeWire. Подробности в" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 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:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" "Меню предустановок теперь запрашивает подтверждение перед сохранением/" "удалением файла предустановки." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" "Перезагрузка плагина больше не должна делать его элементы управления " "неработоспособными." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "Улучшена производительность при сбросе клавиш." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" "Исправлен выбор предустановки «Большой пустой зал» в эффекте реверберации." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "Небольшие улучшения в эхоподавителе." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "Пресдустановки GraphicEQ можно импортировать в эффект эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "Документация была обновлена." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "Улучшена автозагрузка предустановок." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "Порог тишины автоусилителя теперь может быть настроен пользователем." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" "В эффект Stereo Tools добавлены элементы управления оригинальным и " "обработанным сигналами." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 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:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" "Улучшена совместимость кода автозагрузки предустановок с устройствами bluez5." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" "Для некоторых плагинов добавлены элементы управления оригинальным/" "обработанным сигналами" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "Документация была обновлена" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "Улучшены отладочные сообщения" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Улучшены переводы" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" "Была улучшена кодовая база автозагрузки предустановок для лучшей " "совместимости с USB-устройствами." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" "EasyEffects больше не должен падать, если язык пользователя не был правильно " "настроен." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "Был улучшен код, ответственный за отображение потока" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" "Теперь в наших отчётах отображается строка кода, ответственная за вывод " "сообщения" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" "Исправлен вылет, происходивший при изменении исторического максимума " "автоусилителя." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "Предотвращены вылеты, когда запущен pw-mididump" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "Улучшен интерфейс плагина высоты тона" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" "Значок нашего приложения теперь совместим с рабочими столами, использующими " "QT" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "Крупное обновление переводов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" "Параметр командной строки, возвращающий состояние глобального обхода, снова " "работает." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" "Исправлена ошибка, не дававшая моно-микрофонам корректно работать с " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "Поддержка PipeWire версии 0.3.44" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "Улучшена поддержка спящего режима." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" "Дизайн меню настроек приложения был изменен с использованием виджетов " "LibAdwaita." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" "Функция «Сброс всех настроек» в меню теперь должна работать и с Flatpak." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "Библиотека tbb теперь является новой зависимостью" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" "Плагины Лимитер и Многополосный компрессор теперь могут использоваться в " "качестве опциональной внешней боковой цепи." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 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:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" "Теперь в главных настройках можно выбрать Кубический Уровень в качестве " "опции." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "Улучшена поддержка Assistive Technology." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" "Монитор источников PipeWire был исключён и удалён из списка приложений." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "Ожидается, что сбои, подобные сообщённым в проблеме 1172, исправлены." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" "Предотвращена ошибка, связанная со Спектром, приводящая к аварийному " "завершению приложения." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" "При удалении приложения из чёрного списка, его предшествующее состояние " "будет восстановлено." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" "Теперь чёрный список правильно устанавливается при смене предустановок." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "Обновлён китайский перевод." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "Обновлён итальянский перевод." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "В компрессор добавлена поддержка параметра «Величина усиления»" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "Теперь для модуля эхоподавления возможно установить частотный спектр." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" "Уровень порогового значения в плагине антишипения (деэссера) теперь " "сохраняется в файле предустановки." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" "Улучшено полосное разделение для кристаллизатора с новыми значениями " "интенсивности по умолчанию." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" "При добавлении новых полос в эквалайзер их значение равно «Колокол» вместо " "«Отключено»." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" "Предустановки для Эквалайзера APO теперь работают корректно с языками, " "отличными от С." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" "Улучшено взаимодействие между точками пересечения портов фильтров в PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 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:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" "Установка множества предустановок для автозагрузки теперь должно работать " "корректно" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" "Временные окна для взаимодействия с некоторыми плагинами теперь работают " "корректно" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" "Исправлена ошибка, при которой плагин высоты тона не мог правильно " "инициализироваться" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" "Предупреждение о переполнении больше не должно менять расположение соседних " "виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "Исправлен перевод некоторых виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "Исправлено неправильное выравнивание некоторых виджетов" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" "Исправлена ошибка сегментирования, возникавшая в случае, когда опциональные " "зависимости не были установлены" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "Улучшен интерфейс эквалайзера." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "Теперь поддерживается режим усиления компрессора LSP." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" "Название приложения и его репозитория было изменено с PulseEffects на " "EasyEffects" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 был заменён на gtkmm4" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Фильтры GStreamer были заменены на собственные фильтры PipeWire." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" "Наличие некоторых новых библиотек, ранее считавшиеся опциональными, теперь " "является обязательным" #~ msgid "Wellington Wallace" #~ 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.6/po/news/sk.po000066400000000000000000002267371460155372000164210ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Aktualizované preklady" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 #, fuzzy msgid "Improved presets autoloading." msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 #, fuzzy msgid "Improved translations" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 #, fuzzy msgid "Many translation updates" msgstr "Aktualizované preklady" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #, 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.6/po/news/sv.po000066400000000000000000001731201460155372000164170ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/th.po000066400000000000000000001172701460155372000164060ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 msgid "Improved compatibility with the latest LSP releases." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 msgid "Many translation updates" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 msgid "" "GTKMM and GLIBMM are not a dependency anymore. We now use gtk4 directly." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 msgid "" "The application and its repository have been renamed from PulseEffects to " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "" easyeffects-7.1.6/po/news/tr.po000066400000000000000000002266071460155372000164250ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-06 06:01+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-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 Uygulamaları için Ses Efektleri" #: 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 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." #: 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'in devamıdır. EasyEffects 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 #, 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 "" "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." #: 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 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." #: 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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "Özellikler:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." msgstr "Çeviriler güncellendi" #: 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "Hata düzeltmeleri:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "Diğer notlar:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "Çeviriler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 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:73 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:74 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:76 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:87 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:98 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:107 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:108 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:110 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:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "EasyEffects artık libc++ ile de derlenebilir." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 msgid "The plugin reset should not make its controls innefective anymore." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 msgid "Improved compatibility with Linux Studio Plugins 1.2.3." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "Belgeler güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 msgid "" "Multiband Gate implementation has been migrated from CALF to Linux Studio " "Plugins." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:266 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:267 msgid "Wet/dry controls were added for some plugins" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "Belgeler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "Çeviriler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 msgid "" "Our blocklist code will use the application.id tag if the stream sets it" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:326 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:327 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:328 #, fuzzy msgid "Many translation updates" msgstr "Çeviriler güncellendi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 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:368 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:376 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:384 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:385 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:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 msgid "" "The APO Profile Import feature of Equalizer plugin now parses the \"Pre " "Amplification\" parameter." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 msgid "" "Some icons not showing in Plasma DE with Breeze icon theme should appear now." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:469 msgid "Updated Chinese translation." msgstr "Çince çeviri güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "İtalyanca çeviri güncellendi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 msgid "" "Equalizer APO presets loading is now working properly on locales different " "than C." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "Birkaç widget'ta yerel ayar düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "Birkaç widget'ta yanlış hizalama düzeltildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "Ekolayzır arayüzü iyileştirildi." #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 #, fuzzy 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ı" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3, gtkmm4 ile değiştirildi" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 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:536 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:537 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:538 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 "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/zh_CN.po000066400000000000000000002343601460155372000167740ustar00rootroot00000000000000# 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-03-26 15:58+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: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:84 #: 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:118 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:128 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:138 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:152 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:166 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:179 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:193 #: 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:243 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:264 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:280 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:291 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:306 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:322 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:338 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:351 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:361 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:383 #: 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:430 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:442 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:450 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:468 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:490 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:507 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:517 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:530 msgid "Features:" msgstr "功能:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:59 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:60 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:207 #, fuzzy msgid "Updated translations." 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:97 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:109 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:119 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:130 #: 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:170 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:183 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:195 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:208 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:219 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:235 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:254 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:272 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:282 #: 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:329 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:343 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:353 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:367 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:375 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:389 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:404 #: 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:455 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:475 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:493 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:509 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:522 msgid "Bug fixes:" msgstr "漏洞修复:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:62 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:77 #: 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:111 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:121 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:131 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:143 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:158 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:172 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:185 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:197 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:222 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:256 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:273 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:284 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:299 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:391 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:407 msgid "Other notes:" msgstr "其他注意事项:" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:70 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:71 #: 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:271 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:366 #: data/com.github.wwmm.easyeffects.metainfo.xml.in:492 msgid "Updated translations" msgstr "翻译更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:72 msgid "The equalizer can export basic APO preset files" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:73 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:74 msgid "" "EasyEffects version can be shown in the command line through the option --" "version" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:76 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:87 msgid "" "Fixed a regression introduced in 7.1.2 that could cause EasyEffects to crash" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:98 #, fuzzy msgid "The DeepFilterNet plugin can now be added to the preset file" msgstr "从今起,齿音消除插件的阈值参数会被保存到预设文件中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:107 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:108 #, fuzzy msgid "Improved compatibility with the latest LSP releases." msgstr "改进了与 Linux Studio Plugins 1.2.3 库的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:110 msgid "Fixed an incorrect drawing of the impulse response file characteristics" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:120 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:129 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:139 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:140 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:141 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:144 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:145 msgid "EasyEffects is now buildable also with libc++." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:153 msgid "The Expander from Linux Studio Plugins can be used in Easy Effects." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:154 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:155 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:157 msgid "Fixed the Solo button in the Equalizer band settings." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:159 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:167 msgid "" "An \"Experimental Features\" section was added to our preferences window." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:168 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:169 msgid "Fractional semitone values can now be used in the Pitch Shift effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:171 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:180 msgid "A new Level Meter plugin based on libebur128 has been added." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:181 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:182 msgid "" "Improved compatibility with recent PipeWire versions. More information at" msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:184 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:186 msgid "" "Rabberband is not a dependency anymore since it has been replaced by " "SoundTouch." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:194 msgid "" "The presets menu now asks for confirmation before saving/deleting a preset " "file." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:196 #, fuzzy msgid "The plugin reset should not make its controls innefective anymore." msgstr "饱和度警告应该不再遮挡与其相邻的界面部件了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:198 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:199 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:209 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:217 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:218 msgid "Improved performance when resetting keys." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:220 msgid "" "Fixed the \"Large Empty Hall\" preset selection in the Reverberation effect." msgstr "" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:221 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:223 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:231 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:232 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:233 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:234 msgid "Small improvements to the echo canceller." msgstr "稍微改进了回声消除器。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:236 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:244 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:245 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:246 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:247 msgid "GraphicEQ presets can be imported into the Equalizer effect." msgstr "新增将 GraphicEQ 预设导入均衡器的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:248 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:249 msgid "The documentation has been updated." msgstr "文档已更新。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:250 msgid "Improved presets autoloading." msgstr "改进了预设自动加载。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:251 msgid "The Autogain silence threshold can now be configured by the user." msgstr "自动增益插件的静音阈值现在可以由用户配置了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:252 msgid "Dry and wet controls added to the Stereo Tools effect." msgstr "立体声工具新增控制干湿声的功能。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:253 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:255 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:257 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:265 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:266 msgid "" "The preset autoloading code compatibility with bluez5 devices has been " "improved." msgstr "改进了预设自动加载代码与 bluez5 设备的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:267 msgid "Wet/dry controls were added for some plugins" msgstr "为某些插件增加了湿/干控制" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:268 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:269 msgid "The documentation has been updated" msgstr "文档已更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:270 msgid "Improved debug messages" msgstr "改善了调试信息" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:281 msgid "Improved translations" msgstr "翻译改进" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:283 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:292 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:293 msgid "" "The preset autoloading code compatibility with usb devices has been improved." msgstr "改进了预设自动加载代码与 USB 设备的兼容性。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:294 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:295 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:297 msgid "" "EasyEffects should not crash anymore when the user locale is not properly " "configured." msgstr "当用户地区设置不正确时,EasyEffects 不应该再崩溃。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:298 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:307 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:308 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:309 msgid "The code that shows the stream sample format has been improved" msgstr "改进了显示音频样本格式的代码" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:310 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:311 msgid "" "Our logs now show the source code line where the messages are being printed" msgstr "程序日志从现在起,会显示日志里每条信息的源头" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:313 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:314 msgid "" "Fixed a crash that could happen when the maximum autogain history was " "changed." msgstr "修复了可能会发生于更改自动增益插件的最大历史记录时的崩溃。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:315 msgid "Avoid crashes when pw-mididump is running" msgstr "当 pw-mididump 正在运行时避免崩溃" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:323 msgid "The interface of the pitch plugin was improved" msgstr "改进了音调插件界面" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:324 msgid "Our application icon is now compatible with desktops that uses QT" msgstr "我们的应用图标现已兼容基于QT的桌面环境" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:325 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:326 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:327 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:328 msgid "Many translation updates" msgstr "许多翻译更新" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:330 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:331 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:339 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:340 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:341 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:342 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:344 msgid "" "The command line option that returns the global bypass state is working " "again." msgstr "修复返回全局旁通状态的命令行选项。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:352 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:354 msgid "" "Fixed a bug that prevented mono microphones from properly working with " "EasyEffects" msgstr "修复了一个使单声道麦克风无法正常工作于EasyEffects的漏洞" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:362 msgid "Support for the next PipeWire release 0.3.44" msgstr "对下一个 PipeWire 发布版本 0.3.44 的支持" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:363 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:364 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:365 msgid "Better support for computer suspending." msgstr "改善了对计算机休眠的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:368 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:376 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:384 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:385 msgid "The settings menu has been redesigned using LibAdwaita widgets." msgstr "设置菜单被重新设计以使用 LibAdwaita 组件。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:386 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:387 msgid "The Reset All Settings function in our menu should work in Flatpak now." msgstr "重置所有设置这项功能,从现在起在Flatpak环境下应该可以正常工作了。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:388 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:390 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:392 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:393 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:401 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:402 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:403 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:405 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:406 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:408 msgid "The tbb library is a new dependency" msgstr "添加 tbb 软件库作为新的依赖项" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:416 msgid "" "The Limiter and the Multiband Compressor plugins can now use an optional " "external sidechain." msgstr "门限、多频段压缩器插件新增可选外部侧链。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:417 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:418 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:419 msgid "Optional Cubic Volume can be enabled in General Settings." msgstr "设置中新增启用立方音量调节的选项。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:421 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:422 msgid "Improved support for Assistive Technology." msgstr "改进了对辅助技术的支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:423 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:431 msgid "" "PipeWire monitor streams are now excluded and removed from the applications " "list." msgstr "PipeWire 监视器流现在已从应用程序列表中排除并删除。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:433 msgid "Hopefully crashes like the one reported at issue 1172 are fixed." msgstr "若无意外,类似于 issue #1172 的崩溃问题现已解决。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:434 msgid "Prevented a case in which Spectrum was crashing." msgstr "防止了一种会导致界面频谱崩溃的情况发生。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:435 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:443 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:451 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:452 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:453 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:454 msgid "" "Removing an application from the blocklist, its previous enabled state is " "restored." msgstr "若用户从黑名单中删除某个应用程序,程序将恢复其先前的启用状态。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:456 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:457 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:458 msgid "Now the blocklist is correctly set when switching presets." msgstr "现在起,切换预设时黑名单会被正确更新。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:459 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:460 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:461 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:469 msgid "Updated Chinese translation." msgstr "更新了中文翻译。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:470 msgid "Updated Italian translation." msgstr "更新了意大利语翻译。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:471 msgid "Added support for the compressor parameter Boost Amount" msgstr "新增了压缩器参数 提升量 的支持" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:472 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:473 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:474 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:476 msgid "The echo canceller sampling rate is now properly set." msgstr "修复了回声消除插件未正确设置采样率的问题。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:477 msgid "" "The threshold parameter from the deesser plugin is now saved to the preset " "file." msgstr "从今起,齿音消除插件的阈值参数会被保存到预设文件中。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:478 msgid "" "Improved band splitting for crystalizer with new default intensity values." msgstr "改进了结晶器的分割频段,其将使用新的默认强度值。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:479 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:480 msgid "When adding more equalizer bands they are set to Bell instead of Off." msgstr "添加更多均衡器频段时,它们将被设置为钟形,而非原先的关闭。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:481 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:482 msgid "Improved linking management between port filter nodes in PipeWire." msgstr "改进了 PipeWire 中端口过滤器节点之间的链接管理。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:483 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:491 msgid "" "Improved the resampler used in the plugins that require one(like the rnnoise " "plugin)" msgstr "改进了部分插件所使用的重采样器(如降噪插件)" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:494 msgid "Setting multiple autoloading presets should be fine now" msgstr "修复了设置多个自动加载预设的相关问题" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:495 msgid "Transient windows are now properly set for some plugins dialogs" msgstr "现在某些插件对话框会正确设置瞬态窗口了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:496 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:497 msgid "" "Fixed a bug that could make the pitch plugin to not be properly initialized" msgstr "修复了一个可能导致音高插件无法正确初始化的错误" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:498 msgid "The saturation warning should not displace its neighbor widgets anymore" msgstr "饱和度警告应该不再遮挡与其相邻的界面部件了" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:499 msgid "Fixed the locale in a few widgets" msgstr "修复了一些小部件中的语言环境" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:500 msgid "Fixed wrong alignment in a few widgets" msgstr "修复了程序界面一些部件中的对齐问题" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:508 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:510 msgid "" "Fixed a segmentation fault that happened when optional dependencies were not " "installed" msgstr "修复了用户未安装可选依赖项时发生的segfault" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:518 msgid "Improved equalizer interface." msgstr "改进了均衡器的界面。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:519 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:520 msgid "We now support the LSP compressor Boosting mode." msgstr "新增 LSP 压缩器加强模式支持。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:521 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:523 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:531 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:532 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:533 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:534 msgid "gtkmm3 was replaced by gtkmm4" msgstr "gtkmm3 已被 gtkmm4 取代" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:535 msgid "Gstreamer was replaced by native PipeWire filters." msgstr "Gstreamer 已被原生 PipeWire 过滤器取代。" #: data/com.github.wwmm.easyeffects.metainfo.xml.in:536 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:537 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:538 msgid "" "New libraries are being used and some of the librarires that were optional " "before are now required" msgstr "本程序将逐渐使用更多的库,而一些本来是可选的库现在转变为必须的了" #~ msgid "Wellington Wallace" #~ msgstr "Wellington Wallace" #~ 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.6/po/news/zh_Hant.po000066400000000000000000001166221460155372000173660ustar00rootroot00000000000000# 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.6/po/nl.po000066400000000000000000002362251460155372000154320ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-13 07:01+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-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 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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "‘Voorinstellingen’" #: 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:270 msgid "Change the volume of this application" msgstr "Volume van deze app aanpassen" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Stilte" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maximale geschiedenis" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Verwijzing" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Kortstondig" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Korte termijn" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Geïntegreerd" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrisch gemiddelde (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrisch gemiddelde (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrisch gemiddelde (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrisch gemiddelde (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Geschiedenis wissen" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Standaardwaarden" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatief" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Bereik" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Uitvoerversterking" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Invoer" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Plug-in-invoerversterking" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Uitvoer" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Plug-in-uitvoerversterking" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonieën" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Domein" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Vloer" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Vloerwaarde" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Omlaag" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Omhoog" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Versterking" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Compressiemodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Versterkingsdrempelwaarde" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Versterkingsgrootte" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Attack" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Duur" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Drempelwaarde" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Attack-tijd" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Attack-drempel" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Release" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Release-tijd" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Release-drempel" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Verhouding" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Knie" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Make-up" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Droog-niveau" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Nat-niveau" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Zijketen" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Brok" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Midden" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Zijkant" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Links" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Rechts" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Zijketenbron" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Links/rechts" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Rechts/links" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Midden/zijkant" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Zijkant/midden" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Stereo­split­bron" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Piek" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Low-pass-filter" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Eenvoudig voortschrijdend gemiddelde" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Zijketenmodus" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Luister-sidechain" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Soort" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Feedforward" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Feedback" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Extern" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Sidechain-type" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Invoerapparaat" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Voorversterking" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactiviteit" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Vooruitblik" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Zijketenfilters" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "High-pass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frequentie" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Uit" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "High-pass-filtermodus" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "High-pass-filterfrequentie" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Low-pass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Low-pass-filtermodus" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Versterking" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Envelop" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kromme" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spectrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Logaritmische schaal" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatisch versterken" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Snelheid" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Monsters" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Dempen" #: 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:116 msgid "Frequency 1 Split" msgstr "Splitsing van frequentie 1" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2-piek" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Piek van frequentie 2" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1-versterking" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Versterking van frequentie 1" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2-niveau" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Niveau van frequentie 2" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2-piek-Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Piek-Q van frequentie 2" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxiteit" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Gedetecteerd" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Vermindering" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Vertraging" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Fase omkeren" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Maximale ERB-verwerkings­drempel" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Maximale DF-verwerkings­drempel" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Minimale verwerkings­buffer" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Postfilter­bèta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengte" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Resterende echo-onderdrukking" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Toonhoogte links" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Toonhoogte rechts" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Kanalen splitsen" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Platte respons" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Frequenties berekenen" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Banden sorteren" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Voorinstelling importeren" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Voorinstelling exporteren" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Stijging" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kwaliteit" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Breedte" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Plafond" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zone" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Hysterese" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mix" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Start van attack-zone" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Sidechain-voorversterking" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Versterken" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereokoppeling" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Externe sidechain" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Automatische niveau's" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Automatische attack-niveau's" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Automatische release-niveau's" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Automatische knee-niveau's" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Versterking links" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Versterking rechts" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidechain links" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Knippen" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Plafond" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Bandlijst" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Band 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Band 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Band 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Band 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Band 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Einde van band" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Bandcompressiemodus" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bandomzeiling" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Band-sidechain-opties" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Stereo­split" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Low-cut" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Low-cut-filterfrequentie" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "High-cut" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "High-cut-filterfrequentie" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Voorversterking" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Bandversterking" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Bandenvelop" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Bandkromme" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Uitvoerapparaten" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Uitvoervoorinstellingen" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Vereniging aanmaken" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Automatisch geladen uitvoervoorinstelling toevoegen" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Lijst van automatisch geladen uitvoervoorinstellingen" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Invoerapparaten" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Invoervoorinstellingen" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Automatisch geladen invoervoorinstelling toevoegen" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Lijst van automatisch geladen invoervoorinstellingen" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Modules" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Modulelijst" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Cliënten" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Cliëntenlijst" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Signaal testen" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Status" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Ingeschakeld" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Eigenschappen" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanalen" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Beide" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Beide kanalen" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Golfvorm" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusgolf" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Zoekvenster" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Overlapslengte" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Toonhoogte" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Halve tonen" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Tempoverschil" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Snelheidsverschil" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Effect verwijderen" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Effect omschakelen" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Positie van effect aanpassen" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Effect toevoegen" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Lijst met gebruikte plug-ins" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Geen effecten" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Update-interval (niveaumeters en spectrum)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Update-frequentie (LV2-plug-ins)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Stijl" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Donker thema" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Menu's verbergen bij klikken achtergrond" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Experimentele functies" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Inheemse plug-ins-venster" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Lengte" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Lijnbreedte" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Opvullen" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Balkrand tonen" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Afgeronde hoeken" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Dynamische schaal" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Kleur" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Lijnen en balken" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "As-labels" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Frequentiebereik" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimaal" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maximaal" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Laden" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "Huidige instellingen verwerpen en deze voorinstelling laden" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Sla de huidige instellingen op in dit voorinstellingsbestand" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Verwijder dit voorinstellingsbestand" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Naam voor nieuwe voor­instelling" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Nieuwe voorinstelling aanmaken" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Voorinstelling importeren" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Zoek­voorinstelling" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Lijst met voor­instellingen" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Hoge frequentiedemping" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Kamergrootte" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Klein" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Gemiddeld" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Groot" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Groot/Vloeiend" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimenteel" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Verspreiding" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Vertraging vooraf" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Vervaltijd" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bas onderdrukken" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Hoge tonen afsnijden" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Sfeer" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Kale muren" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Kamer" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Grote, lege zaal" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standaardmodel" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Lijst met RNNoise-modellen" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Model niet geladen" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Huidig model" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Doorgaan" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Ruisonderdrukking" #: data/ui/speex.ui:147 msgid "Level" msgstr "Niveau" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Invoerbalans" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Softclip-niveau" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereomatrix" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (standaard stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (stereo naar midden-zijkant)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (midden-zijkant naar stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (mono, linkerkanaal)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (mono, rechterkanaal)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (mono, sum L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (stereo, kanalen omwisselen)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereo-mode" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Zijniveau" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Zijbalans" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Middelste niveau" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Middelste panorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Uitvoerbalans" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "L/R-vertraging" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Vertraging links/rechts" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Stereobasis" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Sluit Easy Effects af. Nuttig in dienstmodus." #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "Print de versie van Easy Effects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Reset Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Verberg het venster." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Toon de beschikbare voorinstellingen." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Bestand is ongebruikelijk" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Het impulsbestand is mogelijk beschadigd of wordt niet ondersteund" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Enkel stereo-impulsbestanden worden ondersteund" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Impulsbestand niet geïmporteerd" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Impulse-bestand importeren" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Openen" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Impulsrespons" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Impuls laden" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Impuls verwijderen" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Geen impulsbestand geladen" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Impulsbestand laden mislukt" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Opname-apparaten" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Spelers" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effecten" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "APO-voorinstellingsbestand importeren" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO-voorinstellingen" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO-voorinstellings­bestand exporteren" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Opslaan" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO-voor­instellingen" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ-voorinstellingsbestand importeren" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ-voorinstellingen" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Uitvoerniveaumeter" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Verwijderen" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Uitvoerapparaat" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Toevoegen" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Opslaan?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Verwijderen?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Voor­instelling niet correct geladen" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Verkeerd formaat in lijst met uitgesloten apps" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "Algemene fout bij laden van lijst met uitgesloten apps" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "Verkeerd formaat in effecten­lijst" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Algemene fout bij laden van effecten­lijst" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Een of meer parameters hebben een verkeerd formaat" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "Algemene fout bij laden van het effect" #: 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:166 msgid "-inf" msgstr "- ∞" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "{} wordt gebruikt" #~ 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 "Search Output Preset" #~ msgstr "Uitvoervoorinstellingen doorzoeken" #~ msgid "Output Presets List" #~ msgstr "Lijst met uitvoervoorinstellingen" #~ 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" #, 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" #~ 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 "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 "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.6/po/nn.po000066400000000000000000001627361460155372000154410ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Førehandsinnstillingar\"" #: 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:270 msgid "Change the volume of this application" msgstr "Endre volumet for denne applikasjonen" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Tystnad" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maksimal historie" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referanse" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Mellombels" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kortvarig" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrert" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrisk median (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrisk median (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrisk median (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrisk median (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Resett historikk" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Resett" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Omfang" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Utgangsstyrke" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Inngang" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Plugin-inngangsstyrke" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Utgang" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Plugin-utgangsstyrke" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Overtonar" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Omfang" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Golv" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Golvverdi" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modus" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Nedover" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Oppover" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Auking" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Kompresjonsmodus" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Grense for auking" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Aukemengd" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Åtak" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tid" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Terskel" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Åtakstid" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Åtaksgrense" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Frågang" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Frågangstid" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Frågangsgrense" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Forhold" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Kne" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Tørrnivå" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Våtnivå" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidekjede" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Kjelde" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Mellom" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Side" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Venstre" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Høgre" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min." #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Max." #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Sidekjede-kjelde" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Høgre" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Høgre" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Side" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Side" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Topp" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Lågpassfilter" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Sidekjede-modus" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Ekstern sidekjede" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Type" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Ekstern" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Sidekjede-type" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Inndataeining" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Førforsterking" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktivitet" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Framomsjåing" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Sidekjede-filter" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Høgpass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvens" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Av" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Høgpassfilter-modus" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Høgpassfilter-frekvens" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Lågpass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Lågpassfilter-modus" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Styrke" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Kurve" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Log-skala" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autostyrke" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Demp" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekvens 1 del" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 topp" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frekvens 2 topp" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 styrke" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frekvens 1 styrke" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 nivå" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frekvens 2 nivå" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 topp Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 topp Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Kraftløyse" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Funne" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Reduksjon" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Forseinking" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlengd" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlengd" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balanse" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Tonehøgd venstre" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Tonehøgd høgre" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Delte kanalar" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Flat respons" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Rekn ut frekvensar" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Sorter band" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importer førehandsinnstillingar" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importer førehandsinnstillingar" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Helling" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Vidd" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Tak" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Sone" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Miks" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Åtaksone start" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Forsterking" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereolenkje" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Ekstern sidekjede" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Klipping" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Tak" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Bandliste" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Band 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Band 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereovidde" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Førehandsinnstilling" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Førehandsinnstillingar" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Bandmodus" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Utelatne applikasjonar" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #~ 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.6/po/pl.po000066400000000000000000002407341460155372000154340ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-28 14:52+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "Profile" #: 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:270 msgid "Change the volume of this application" msgstr "Zmień głośność tej aplikacji" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Cisza" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maksymalna historia" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Odnośnik" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Tymczasowe" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Krótkie" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Zintegrowane" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Średnia geometryczna (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Średnia geometryczna (MSI)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "Historia" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Zresetuj" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatywne" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Zakres" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Wzmocnienie wyjścia" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Wejście" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Wzmocnienie wej." #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Wyjście" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Wzmocnienie wej." #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmoniczne" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Zakres" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Podłoga" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Podłoga" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Tryb" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "W dół" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "W górę" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Wzmacniania" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Tryb kompresji" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Próg wzmocnienia" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Siła wzmocnienia" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Atak" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Czas" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Próg" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Czas ataku" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Próg" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Wyzwolenie" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Czas wybrzmiewania" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Próg wybrzmiewania" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Stosunek" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 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:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Wzmocnienie" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Poziom" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Poziom docelowy" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Źródło" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Środek" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Strona" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Lewy" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Prawy" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Min" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Maks" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Lewy/Prawy" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Prawy/Lewy" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Strona" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Strona" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Domyślne" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Szczyt" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Filtr dolnoprzepustowy" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Tryb łańcucha bocznego" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Rodzaj" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Przekazywanie danych" # Wejście? #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Odbicie" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Zewnętrzne" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Typ łańcucha bocznego" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Urządzenie wejściowe" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Wzmocnienie wstępne" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktywność" # Podgląd, albo "patrz w przód", zapas #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Lookahead" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Łańcuch boczny" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Górnoprzepustowy" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Częstotliwość" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Wyłącz" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Tryb filtru górnoprzepustowego" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Częstotliwość filtru górnoprzepustowego" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Dolnoprzepustowy" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Tryb filtru dolnoprzepustowego" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Wzmocnienie" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Obwiednia" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Krzywa" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Widmo" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Skala logarytmiczna" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Autowzmocnienie" # Próbkowanie? #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Częstotliwość" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Sample" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Wycisz" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Częstotliwość" #: data/ui/deesser.ui:129 #, fuzzy msgid "F2 Peak" msgstr "Szczyt" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Częstotliwość" #: data/ui/deesser.ui:167 #, fuzzy msgid "F1 Gain" msgstr "Wzmocnienie" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Częstotliwość" #: data/ui/deesser.ui:202 #, fuzzy msgid "F2 Level" msgstr "Poziom" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Częstotliwość" #: data/ui/deesser.ui:237 #, fuzzy msgid "F2 Peak Q" msgstr "Szczyt Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Częstotliwość" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Swoboda" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Wykryto" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Redukcja" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Opóźnienie" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Odwróć fazę" # 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Długość filtra" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Długość filtra" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Tłumienie szumu" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Łańcuch boczny" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Łańcuch boczny" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Rozłącz kanały" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Płaska odpowiedź" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Przelicz częstotliwości" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Pasma" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importuj szablony" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importuj szablony" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Jakość" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Szerokość" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Sufit" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Strefa" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Histereza" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Miks" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Programy" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Wzmocnienie" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Powiązanie stereo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Łańcuch boczny" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Automatyczne poziomowanie" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Wzmocnienie wej." #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Lewy" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Prawy" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Lewy łańcuch boczny" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Kanały" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Sufit" #: 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 "" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Lista pasm" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Pasmo 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Pasmo 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Pasmo 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Pasmo 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Pasmo 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Pasmo 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Pasmo 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Koniec pasma" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Kompresor" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Pominięcie pasma" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 #, fuzzy msgid "Band Sidechain Options" msgstr "Łańcuch boczny" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Tryb sterep" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Filtr" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Filtr" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtr górnoprzepustowy" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Filtr górnoprzepustowy" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Przedwzmacniacz" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Wzmocnienie wej." #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Obwiednia pasma" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Urządzenia wyjściowe" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Szablony wyjściowe" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Utwórz powiązanie" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Profile: " #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Urządzenia wejściowe" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Profile wejścia" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Importuj profile" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduły" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Lista modułów" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klienci" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Lista klientów" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testuj sygnał" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stan" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Włączono" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Właściwości" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanały" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Oba" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Oba kanały" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Przebieg fali" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Sinus tabl." #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Długość filtra" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Wysokość" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Półtony" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Odnośnik" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Odnośnik" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Usuń ten efekt" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Włącz/wyłącz ten efekt" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Zmień pozycję tego efektu" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Dodaj efekt" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Lista używanych wtyczek" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Brak efektów" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Częstotliwość aktualizacji (wtyczki LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Styl" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Używaj ciemnego motywu" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Funkcje eksperymentalne" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Natywne okno wtyczki" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Wysokość" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Szerokość linii" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Wypełnienie" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Pokazuj obramowanie pasków" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Zaokrąglone rogi" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Skala dynamiczna" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Kolor" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linie i paski" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Podpisy osi" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Zakres częstotliwości" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minimum" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maksimum" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Załaduj" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "Porzuć obecne ustawienia i załaduj ten profil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Zapisz obecne ustawienia do tego pliku profilu" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Usuń ten plik szablonu" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Nazwa nowego profilu" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Utwórz profil" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importuj profil" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Szukaj profilu" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Lista profili" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Tłumienie wysokich tonów" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Rozmiar pomieszczenia" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Mały" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Średni" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Duży" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Duży/gładki" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Eksperymentalne" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Rozproszenie" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Przedopóźnienie" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Czas zaniku" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Odcięcie basu" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Odcięcie sopranu" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Otoczenie" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Gołe ściany" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Pokój" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Duża pusta sala" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standardowy model" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Lista modeli RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Model nie jest załadowany" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktywny model" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Kontynuuj" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Tłumienie szumu" #: data/ui/speex.ui:147 msgid "Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Balans wejścia" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:128 #, fuzzy msgid "Stereo Matrix" msgstr "Powiązanie stereo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (domyślne stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Tryb sterep" #: data/ui/stereo_tools.ui:236 #, fuzzy msgid "Side Level" msgstr "Poziom" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balans boczny" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Środkowy poziom" #: data/ui/stereo_tools.ui:344 #, fuzzy msgid "Middle Panorama" msgstr "Panorama" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Wzmocnienie wej." #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Opóźnienie L/R" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Opóźnienie" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Baza stereo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Wyjdź z EasyEffects. Przydatne przy pracy w trybie usługi." #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Resetuj EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Schowaj okno." #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "Pokaż dostępne profile." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Płaska odpowiedź" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importuj plik Impulse" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otwórz" #: src/convolver_menu_impulses.cpp:164 #, fuzzy msgid "Impulse Response" msgstr "Płaska odpowiedź" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Wczytaj Impuls" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Usuń Impuls" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Płaska odpowiedź" #: src/convolver_ui.cpp:394 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:773 msgid "Recorders" msgstr "Rejestratory" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Odtwarzacze" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efekty" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importuj plik profilu APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Profile APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importuj plik profilu APO" #: src/equalizer_ui.cpp:550 #, fuzzy msgid "Save" msgstr "Zapisać?" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Profile APO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importuj plik profilu GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Profile GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Wzmocnienie wej." #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Usuń" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Urządzenie wyjściowe" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Dodaj" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Zapisać?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Usunąć?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista wykluczonych programów" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "Wykorzystuje {}" #, 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: " #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Profile: " #, fuzzy #~ msgid "Output Presets List" #~ 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 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 "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 "Updated translations" #~ msgstr "Uaktualnione tłumaczenia" #~ 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" #~ 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.6/po/pt_BR.po000066400000000000000000002735271460155372000160350ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Predefinições\"" #: 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:270 msgid "Change the volume of this application" msgstr "Alterar o volume deste aplicativo" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Silêncio" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Histórico Máximo" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referência" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentâneo" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Curto Prazo" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrada" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Média Geométrica (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Média Geométrica (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Média Geométrica (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Média Geométrica (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Apagar o Histórico" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Reiniciar" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativo" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Alcance" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Ganho de Saída" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Entrada" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Ganho de Entrada do Módulo de Extensão" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Saída" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 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:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmônico" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Escopo" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Mínimo" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Valor Mínimo" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Modo" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Para Baixo" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Para Cima" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Impulsionando" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Modo de Compressão" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Limite do Impulso" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Valor do Impulso" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Ataque" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Tempo" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Limite" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Tempo de Ataque" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Limite do Ataque" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Lançamento" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Hora do Lançamento" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Limite do Lançamento" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Proporção" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Joelho" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Ganho de Saída" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Nível Seco" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Nível Molhado" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Cadeia Lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Fonte" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Meio" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Lado" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Esquerda" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Direita" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Mínimo" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Máximo" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Fonte da Cadeia Lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Esquerda/Direita" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Direita/Esquerda" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Meio/Lado" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Lado/Meio" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Fonte Dividida Estéreo" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Pico" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "Potência Real" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Filtro Passa-Baixo" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Média Móvel Simples" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Modo de Cadeia Lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Cadeia Lateral Externa" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tipo" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Avançar" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Retornar" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Externo" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Tipo de Cadeia Lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Dispositivo de Entrada" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Pré-Amplificação" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reatividade" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Antevisão" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Filtros da Cadeia Lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Passa-Alta" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frequência" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Desligado" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Modo de Filtro Passa-Alta" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Frequência do Filtro Passa-Alta" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Passa-Baixa" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Modo de Filtro Passa-Baixa" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Ganho" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Modulação" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curva" #: data/ui/convolver.ui:40 msgid "L" msgstr "E" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Espectro" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Escala Logarítmica" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Ganho Automático" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Taxa" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Amostras" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Mudo" #: 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:116 msgid "Frequency 1 Split" msgstr "Divisão da Frequência 1" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Pico F2" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Pico da Frequência 2" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Ganho F1" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Ganho da Frequência 1" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Nível F2" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Nível da Frequência 2" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "Pico Q F2" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Pico Q da Frequência 2" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Frouxidão" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectado" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Redução" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Atraso" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inverter a Fase" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Limite Máximo de Processamento do ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Limite Máximo de Processamento do DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Transferência Mínima de Processamento" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Filtro Beta de Postagem" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Comprimento do Filtro" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Supressão de Eco Residual" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balanço" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Frequência da Esquerda" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Frequência da Direita" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Canais Separados" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Resposta Plana" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calcular as Frequências" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Ordenar as Bandas" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importar as Predefinições" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Exportar as Predefinições" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Inclinação" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Sozinho" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Qualidade" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Largura" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Teto" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Zona" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Atraso" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Mistura" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Início da Zona de Ataque" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Pré-Amplificação da Cadeia Lateral" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Impulso" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Ligação Estéreo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Cadeia Lateral Externa" #: data/ui/limiter.ui:478 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:497 msgid "Auto Leveling" msgstr "Ganho Automático" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Ataque do Ganho Automático" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Liberação do Ganho Automático" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Joelho do Ganho Automático" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Ganho Esquerdo" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Ganho Direito" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Cadeia Lateral Esquerda" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Corte" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Teto" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Lista de Bandas" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Banda 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Banda 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Banda 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Banda 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Banda 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Banda 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Banda 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Fim da Banda" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Modo de Compressão das Bandas" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Ignorar a Banda" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Opções de Cadeia Lateral das Bandas" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Modo Estéreo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Filtro Corte-Baixo" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Frequência do Filtro Corte-Baixo" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Filtro Corte-Alto" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Frequência do Filtro Corte-Alto" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Pré-Amplificador" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Ganho da Banda" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Modulação da Banda" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Curva da Banda" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Dispositivos de Saída" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Predefinições de Saída" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Criar Associação" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Adicionar o Carregamento Automático das Definições de Saída" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Lista das Predefinições de Saída" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Dispositivos de Entrada" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Predefinições de Entrada" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Adicionar o Carregamento Automático das Definições de Entrada" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Lista das Predefinições de Entrada" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Módulos" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Lista de Módulos" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clientes" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Lista de Clientes" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Sinal de Teste" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Estado" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Ativado" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Propriedades" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canais" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Ambos" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Ambos os Canais" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Forma de Onda" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Onda Senoidal" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Janela de Busca" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Comprimento do Filtro" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Altura" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitons" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Referência" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Referência" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Remover este efeito" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Ativar ou desativar este efeito" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Alterar a posição deste efeito" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Adicionar Efeito" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Lista dos Módulo de Extensão Utilizados" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Sem Efeitos" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Atualizar o Intervalo (Medidores de Nível e Espectro)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Frequência de Atualização (Plug-ins LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Estilo" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Utilizar o Tema Escuro" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Ocultar os Menus com Cliques Externos" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Recursos Experimentais" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Exibir a Janela Nativa do Módulo de Extensão" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Altura" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Largura da Linha" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Preencher" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Exibir a Borda das Barras" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Cantos Arredondados" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Escala Dinâmica" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Cor" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Linhas e Barras" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Rótulos dos Eixos" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Escopo de Frequências" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Mínimo" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Máximo" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Carregar" #: data/ui/preset_row.ui:38 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:47 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:57 msgid "Remove this preset file" msgstr "Remover este arquivo de predefinição" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Novo Nome de Entrada da Predefinição" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Criar uma nova predefinição" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importar uma predefinição" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Pesquisar as Predefinições de Entrada" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Lista de Predefinições de Entrada" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortecimento de Alta Frequência" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Tamanho do Quarto" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Pequeno" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Médio" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Grande" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Túnel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Grande/Suave" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difusão" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pré Atraso" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Tempo de Decaimento" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Corte do Grave" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Corte do Agudo" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambiente" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Paredes Vazias" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Quarto" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Grande Salão Vazio" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Discoteca" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Modelo Padrão" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Lista de Modelos de Ruídos do RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "O Modelo Não Foi Carregado" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Modelo Ativo" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Continuar" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Supressão de Ruído" #: data/ui/speex.ui:147 msgid "Level" msgstr "Nível" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Balanço de Entrada" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Corte Suave do Clipe" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Nível do Corte Suave" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matriz Estéreo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "ED > ED (Estéreo Padrão)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ED > ML (Estéreo para o Meio)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "ML > ED (Meio para o Estéreo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "ED > EE (Canal Esquerdo Mono)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "ED > DD (Canal Direito Mono)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "ED > E+D (Soma Mono E+D)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "ED > DL (Alternar os Canais Estéreo)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Modo Estéreo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nível Lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balanço Lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nível do Meio" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panorama do Meio" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Ganho de Saída" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Atraso E/D" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Atraso na Esquerda e na Direita" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Base Estéreo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" "Página eletrônica do Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "Exibir a versão do Easy Effects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Redefinir o Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Ocultar a Janela." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Exibir as predefinições que estão disponíveis." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "O Arquivo Não Está Normal" #: src/convolver_menu_impulses.cpp:128 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:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Apenas Arquivos de Impulso Estéreo são Compatíveis" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "O Arquivo de Impulso Não foi Importado" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importar o Arquivo com a Resposta de Impulso" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Abrir" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Resposta de Impulso" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Carregar o Impulso" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Remover o Impulso" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Nenhum Arquivo de Impulso foi Carregado" #: src/convolver_ui.cpp:394 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:773 msgid "Recorders" msgstr "Gravadores" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Reprodutores" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efeitos" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importar o Arquivo com as Predefinições do APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Predefinições do APO" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "Importar o Arquivo com as Predefinições do APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Salvar" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "Predefinições do Equalizador do APO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importar o Arquivo com as Predefinições do GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Predefinições do GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Medidor do Nível de Saída" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Remover" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Dispositivo de Saída" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Adicionar" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Você quer salvar?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Você quer excluir?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista de Aplicativos Excluídos" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "" #: 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "Utilizando 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 "Search Output Preset" #~ msgstr "Pesquisa de Predefinições de Saída" #~ msgid "Output Presets List" #~ msgstr "Lista de Predefinições 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" #, 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 "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 "Updated translations" #~ msgstr "Traduções atualizadas" #~ 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 "Dry" #~ msgstr "Seco" #~ 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.6/po/ro.po000066400000000000000000002236331460155372000154400ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "”Presetări”" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Liniște" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Maxim" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Momentar" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Pe Termen Scurt" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrat" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Utilizarea Mijlocului Geometric" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Resetare Istoric" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Resetare" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relativ" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Gamă" #: data/ui/autogain.ui:386 #, fuzzy msgid "Output Gain" msgstr "Output" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Input" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Input Pipeline" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Output" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Output Pipeline" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonics" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Scop" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Podea" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Podea" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Mod" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "În Jos" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "În Sus" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Mod de Compresie" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Prag de Boost" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Cantitate" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Atac" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "În Timp Real" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prag" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Atac" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Prag" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Eliberare" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "În Timp Real" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Prag Relativ de Eliberare" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Raport" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Genunchi" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Compoziție" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "F2 Nivel" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Nivelul Țintă" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Lanț Lateral" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Sursă" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Mijloc" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Parte" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Stânga" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Dreapta" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Maxim" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Maxim" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Lanț Lateral" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Întârziere L/R" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Dreapta" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Parte" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Parte" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Sursa Prestabilită" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Vârf" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Mod Filtru Low-pass" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Lanț Lateral" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Lanț Lateral" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Scrie" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Feed-forward" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Feed-back" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Lanț Lateral" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Nivel Input" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Preamplificare" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reactivitate" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Privire Înainte" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Lanț Lateral" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "High Pass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frecvență" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Oprit" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Mod Filtru High-pass" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frecvență High-pass" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Low-Pass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Mod Filtru Low-pass" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Gain" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Pantă" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Curbă" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spectru " #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Auto Gain" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Rată" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Probe" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Mut" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frecvență" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Vârf" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frecvență" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Gain" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frecvență" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Nivel" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frecvență" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Vârf Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frecvență" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Laxitate" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Detectat" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Reducere" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Întârziere" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Inversează Faza" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filtru" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filtru" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Supresor de Zgomot" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Lanț Lateral" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Lanț Lateral" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Despică Canalele" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Răspuns Plat" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Calculează Frecvențele" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Benzi" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Importă Presetări" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importă Presetări" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Pantă" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Solo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Calitate" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Lățime" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Tavan" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Preamplificare" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Link Stereo" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Lanț Lateral" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Nivelare Automată" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Nivelare Automată" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Nivelare Automată" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Nivelare Automată" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Gain" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Dreapta" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Lanț Lateral" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Mapping-ul Canalelor" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Tavan" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Benzi" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Benzi" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Benzi" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Benzi" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Benzi" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Benzi" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Benzi" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Benzi" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Benzi" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Mod de Compresie" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Evitare" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Bază Stereo" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Mod Filtru Low-pass" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Frecvență Low-pass" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Filtru High Pass" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Frecvență High-pass" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "F1 Gain" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Curbă" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Efecte Output" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 #, fuzzy msgid "Output Presets" msgstr "Presetări pentru Output:" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 #, fuzzy msgid "Output Autoloading Presets List" msgstr "Presetări pentru Output:" #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Nivel Input" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Presetări pentru Input:" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Presetări pentru Input:" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Module" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Module" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Clienți" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Clienți" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Semnale de Testare" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stare" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Activează" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Canale" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Canale" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Masă Sinusoidală" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Fereastră" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filtru" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Pitch" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Semitonuri" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Șterge fișierul de presetări" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 #, fuzzy msgid "Add Effect" msgstr "Efecte Input" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Folosește Tema Întunecată" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimental" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Ascunde Fereastra." #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Înălțime" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Lățime Linie" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Umple" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 #, fuzzy msgid "Color" msgstr "Culoare Axă" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frecvență" #: data/ui/preferences_spectrum.ui:212 #, fuzzy msgid "Minimum" msgstr "Maxim" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maxim" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Încarcă" #: data/ui/preset_row.ui:38 #, 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:47 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:57 msgid "Remove this preset file" msgstr "Șterge fișierul de presetări" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Presetări pentru Input:" #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Creează Presetare" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Importă Presetări" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Presetări pentru Input:" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Presetări pentru Input:" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Amortizare Frecvențe Înalte" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Dimensiunea Camerei" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Mic" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Mediu" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Mare" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Mare/neted" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimental" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Difuzie" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Pre Întârziere" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Timp Decay" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bass Tăiat" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Treble Tăiat" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ambianță" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Pereți Goi" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Cameră" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Hol Gol Mare" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disco" #: data/ui/reverb.ui:623 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:154 #, 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 #, fuzzy msgid "Standard Model" msgstr "Model Standard RNNoise" #: data/ui/rnnoise.ui:206 #, fuzzy msgid "RNNoise Models List" msgstr "Model Standard RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Model Activ" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Supresor de Zgomot" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "F2 Nivel" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Balans" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Softclip" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Matrice Stereo" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Prestabilit Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo către Mijloc)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Mijloc către Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Canal Stânga)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Canal Dreapta)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Canalele Stereo Inversate)" #: data/ui/stereo_tools.ui:151 #, fuzzy msgid "Stereo Mode" msgstr "Bază Stereo" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Nivel Lateral" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Balans Lateral" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Nivel Mijloc" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Panoramă Mijloc" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Balans" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Întârziere L/R" #: data/ui/stereo_tools.ui:460 #, fuzzy msgid "Delay Left Right" msgstr "Întârziere L/R" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Bază Stereo" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Resetează EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Ascunde Fereastra." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Arată presetările valabile." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Importă Fișier Impulse" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importă Fișier Impulse" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Deschide" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Răspuns Impuls" #: src/convolver_menu_impulses.cpp:285 #, fuzzy msgid "Load Impulse" msgstr "Importă Impuls" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Importă Impuls" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Importă Fișier Impulse" #: src/convolver_ui.cpp:394 #, 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:773 #, fuzzy msgid "Recorders" msgstr "Bordură" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Presetări APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "Presetări APO" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Importă Fișierul de Presetare APO" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Presetări pentru Input:" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Efecte Output" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Efecte Output" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Arată programele din Lista de Blocare în Fila Principală" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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:" #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Presetări pentru Output:" #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #, 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 "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 "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.6/po/ru.po000066400000000000000000004062751460155372000154530ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 20:02+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" #. 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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "Изменить громкость этого приложения" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Тишина" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Исторический максимум" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "База" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Моментальный замер" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 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:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Комплексный замер" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Среднее геометрическое (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Среднее геометрическое (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Среднее геометрическое (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Среднее геометрическое (SI)" # #, fuzzy #: data/ui/autogain.ui:127 msgid "History" msgstr "История" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Сброс" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Относительный замер" # ??? Не уверен в переводе #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Диапазон" #: data/ui/autogain.ui:386 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:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Вход" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Плагин усиления входа" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Выход" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Плагин усиления выхода" # #, fuzzy #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "Название" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профиль" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Гармоники" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Диапазон частот" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Нижний порог" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Величина нижнего порога" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Нисходящий" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Восходящий" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Усиление" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Режим сжатия" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Порог усиления" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Величина усиления" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Атака" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Время" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Порог" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Время атаки" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Порог атаки" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Восстановление" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Время восстановления" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Порог восстановления" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Соотношение" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Колено" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Усиление вверх" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Ур. оригинала" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Ур. обработки" # #, fuzzy #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Боковая цепь" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Источник" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Средний" # #, fuzzy #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Боковой" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Левый" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Правый" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Мин." #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Макс." # #, fuzzy #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Источник боковой цепи" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Левый/правый" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Правый/левый" # #, fuzzy #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Середина/бок" # #, fuzzy #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Бок/середина" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Источник разделения стерео" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Пик" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "Среднеквадратично" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Фильтр нижних частот" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Простая скользящая средняя" # #, fuzzy #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Режим боковой цепи" # #, fuzzy #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Слушать боковую цепь" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "Прямая связь" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Обратная связь" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Внешний" # #, fuzzy #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Тип боковой цепи" # #, fuzzy #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Устройство ввода" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Предусиление" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Скорость реакции" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Упреждение" # #, fuzzy #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Фильтры боковой цепи" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Фильтр ВЧ" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Частота" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Откл" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 дБ/окт" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 дБ/окт" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 дБ/окт" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Режим высокочастотного фильтра" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Частота высокочастотного фильтра" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Фильтр НЧ" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Режим низкочастотного фильтра" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Усиление" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Огибающая" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Кривая" #: data/ui/convolver.ui:40 msgid "L" msgstr "Л" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "Левый канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "П" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Спектр" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Логарифмическая шкала" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Авторегулятор" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Частота" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Образцы" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "Подача" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "Обход" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "Частота 1 раздела" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Ч1 пик" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Частота 2 пик" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Ч1 усиление" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Частота 1 усиление" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Ч2 уровень" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Частота 2 уровень" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "Ч2 пик добротности" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Частота 2 пик добротности" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Допуск" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Выявлено" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Ослабление" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Задержка" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Обратить фазу" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "Предел затухания" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "Минимальный порог обработки" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "Максимальный порог обработки ERB" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Максимальный порог обработки DF" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Минимальный буфер обработки" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Бета постфильтра" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Длина фильтра" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Подавление остаточного эха" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Баланс" # #, fuzzy #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Высота тона левого" # #, fuzzy #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Высота тона правого" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Разделить каналы" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Плоская АЧХ" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Подсчитать частоты" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Сортировать полосы" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Импорт предустановки" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Экспорт предустановки" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Наклон" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Соло" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Качество" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Ширина" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Потолок" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Зона" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Отставание" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Сведение" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Зона атаки" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Предусиление боковой цепи" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Усиление" # В данном режиме «Компрессор» обрабатывает сигналы сразу двух каналов (стерео), уравнивая их уровни. #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Стереосвязка" # #, fuzzy #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Внешняя боковая цепь" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Источник внешней боковой цепи" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Автовыравнивание" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Атака автовыравнивания" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Восстановление автовыравнивания" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Колено автовыравнивания" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Усиление левого" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Усиление правого" # #, fuzzy #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Боковая цепь левая" # #, fuzzy #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Клиппинг" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Полосы" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Полоса 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Полоса 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Полоса 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Полоса 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Полоса 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Полоса 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Полоса 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Конец полосы" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Режим компрессии полосы" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Обход полосы" # #, fuzzy #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Параметры боковой цепи полосы" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Разделение стерео" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Фильтр среза НЧ" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Частота фильтра среза НЧ" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Фильтр среза ВЧ" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Частота фильтра среза ВЧ" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Предусиление" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Усиление полосы" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Огибающая полосы" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Кривая полосы" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Устройства вывода" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Предустановки выхода" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Создать ассоциацию" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Добавить в автозагрузку предустановку выхода" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Список автозагружаемых предустановок выхода" # #, fuzzy #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Устройства ввода" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Предустановки входа" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Добавить в автозагрузку предустановку входа" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Список автозагружаемых предустановок входа" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Модули" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Список модулей" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Клиенты" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "Список клиентов" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Проверочный сигнал" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Состояние" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Включено" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Свойства" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Каналы" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Оба" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Оба канала" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Форма волны" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Синусоида" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Окно перемотки" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Длина перекрытия" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Высота тона" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Полутона" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Разница в темпе" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Разница в частоте" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Удалить этот эффект" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Включить/отключить эффект" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Изменить позицию эффекта" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Добавить эффект" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Список используемых плагинов" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Без эффектов" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Период обновления (уровнемеры и спектр)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Частота обновления (плагины LV2)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Стиль" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Использовать тёмную тему" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Скрывать меню по щелчку вне фокуса" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Экспериментальные возможности" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Родное окно плагина" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Высота" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Ширина линии" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Заливка" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Отобразить границы полос" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Скруглённые углы" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Динамический масштаб" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Цвет" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Линии и полосы" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Разметка осей" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Диапазон частот" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Минимум" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Максимум" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Загрузить" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "Отменить текущие настройки и загрузить эту предустановку" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Сохранить текущие настройки в этот файл предустановки" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Удалить этот файл предустановки" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Имя новой предустановки" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Создать новую предустановку" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Импорт предустановки" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Поиск предустановки" #: data/ui/presets_menu.ui:129 msgid "Presets List" 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:73 msgid "Room Size" msgstr "Размер комнаты" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Малый" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Средний" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Большой" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Туннель" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Большой/гладкий" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Опытный" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Диффузия" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Предзадержка" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Время распада" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Срез басов" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Срез тембра" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Атмосфера" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Голые стены" # Taking lingual shortcuts to squeeze it in the text box #: data/ui/reverb.ui:596 msgid "Room" msgstr "Комната" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Большой пустой зал" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Танцзал" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "Модели" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Стандартная модель" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "Список моделей RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Модель Не Загружена" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Активная модель" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Продолжение" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Шумоглушитель" #: data/ui/speex.ui:147 msgid "Level" msgstr "Уровень" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Баланс входа" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Мягкое усечение" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Уровень мягкого усечения" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Матрица стерео" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "ЛП > ЛП (стерео по умолчанию)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "Стерео > Моно-раздельно" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "Моно-раздельно > Стерео" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "Стерео > Моно левый канал" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "Стерео > Моно правый канал" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "Стерео > Моно левый+правый каналы" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "ЛП > ПЛ (обратить каналы стерео)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Режим стерео" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Боковой уровень" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Боковой баланс" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Средний уровень" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Срединная панорама" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Баланс выхода" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Задержка Л/П" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Задержка левый правый" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "База стерео" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "Выход из Easy Effects. Полезно при работе в режиме службы." #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "Вывод версии easyeffects" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Сбросить Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Скрыть окно." #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "Глобальный обход. 1 — включить, 2 — отключить, 3 — получение статуса" #: src/application.cpp:611 msgid "Show available presets." msgstr "Показать доступные предустановки." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Нестандартный файл" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Возможно, файл импульса повреждён или не поддерживается" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Поддерживаются только файлы импульса стерео" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Файл импульса не импортирован" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Импортировать файл импульса" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Открыть" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Импульсная реакция" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Загрузить импульс" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Удалить Импульс" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Нет загруженного файла импульса" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Не удалось загрузить файл импульса" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Рекордеры" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Проигрыватели" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Эффекты" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Импортировать файл предустановки APO" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "Предустановки APO" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" "Предустановка APO не загружена. Возможно, формат файла не поддерживается. " "Пожалуйста, проверьте его содержимое." #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" "Разделение каналов при экспорте предустановок APO пока не поддерживается." #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "Экспортировать файл предустановки APO" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Сохранить" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "Предустановки EqualizerAPO" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Импортировать файл предустановки GraphicEQ" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "Предустановки GraphicEQ" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Уровнемер выхода" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Удалить" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Устройство вывода" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Добавить" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Сохранить?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Удалить?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Предустановка загружена неправильно" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Неверный формат в списке исключённых приложений" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "Общая ошибка при загрузке списка исключённых приложений" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "Неверный формат в списке эффектов" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Общая ошибка при загрузке списка эффектов" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Один или несколько параметров неверного формата" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "" "Программное обеспечение, необходимое для эффекта {}, «{}», не установлено. " "Рассмотрите возможность использования пакета 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:166 msgid "-inf" msgstr "∞" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" 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 "Search Input Preset" #~ msgstr "Поиск предустановки входа" #~ msgid "Input Presets List" #~ 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 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 "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 "Updated translations" #~ 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 "Dry" #~ 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.6/po/sk.po000066400000000000000000002336661460155372000154440ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Predvoľby\"" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 #, 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Ticho" #: data/ui/autogain.ui:82 #, fuzzy msgid "Maximum History" msgstr "Maximálna" #: data/ui/autogain.ui:106 #, fuzzy msgid "Reference" msgstr "Referenčný Signál" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Okamžitá" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Krátkodobá" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Integrovaná" #: data/ui/autogain.ui:115 #, fuzzy msgid "Geometric Mean (MSI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Použiť geometrický priemer" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Vymazať históriu" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Obnoviť pôvodné hodnoty" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Relatívna" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Rozsah" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Výstupný Zisk" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Vstup" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 #, fuzzy msgid "Plugin Input Gain" msgstr "Výstupný Zisk" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Výstup" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 #, fuzzy msgid "Plugin Output Gain" msgstr "Výstupný Zisk" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonickosť" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Rozsah" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Spodná hranica" #: data/ui/bass_enhancer.ui:240 #, fuzzy msgid "Floor Value" msgstr "Spodná hranica" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Režim" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Dole" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Hore" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Mód kompresora" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Zvýrazniť prah" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 #, fuzzy msgid "Boost Amount" msgstr "Množstvo" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Nábeh" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 #, fuzzy msgid "Time" msgstr "V reálnom čase" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Prah" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 #, fuzzy msgid "Attack Time" msgstr "Nábeh" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 #, fuzzy msgid "Attack Threshold" msgstr "Prah" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Uvoľnenie" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 #, fuzzy msgid "Release Time" msgstr "Uvoľnenie" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 #, fuzzy msgid "Release Threshold" msgstr "Relatívny prah uvoľnenia" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Pomer" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Prechod" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Pozdvihnutie" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 #, fuzzy msgid "Dry Level" msgstr "Úroveň F2" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 #, fuzzy msgid "Wet Level" msgstr "Cieľová úroveň" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Postranný reťazec" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Zdroj" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Stredný" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Postranný" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Ľavý" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Pravý" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Maximálna" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 #, fuzzy msgid "Max" msgstr "Maximálna" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Postranný reťazec" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Oneskorenie Ľavo/Pravo" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Pravý" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Postranný" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Postranný" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Predvolený bdroj" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Vrchol" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 #, fuzzy msgid "Low-Pass Filter" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Postranný reťazec" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Postranný reťazec" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Typ" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Kanál-Vpred" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Kanál-Vzad" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Postranný reťazec" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 #, fuzzy msgid "Input Device" msgstr "Obmedzovač na vstupe" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 #, fuzzy msgid "PreAmplification" msgstr "Predzosilnenie" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Reaktivita" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "Výhľad" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Postranný reťazec" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Horné pásmo" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvencia" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Vyp" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/okt" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/okt" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/okt" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 #, fuzzy msgid "High-Pass Filter Mode" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 #, fuzzy msgid "High-Pass Filter Frequency" msgstr "Frekvencia vysokej priepuste" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Dolná priepusť" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 #, fuzzy msgid "Low-Pass Filter Mode" msgstr "Režim filtra vysokej priepuste" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Zisk" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Sklon" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Krivka" #: data/ui/convolver.ui:40 msgid "L" msgstr "Ľ" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 #, 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:560 #, 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 #, fuzzy msgid "Log Scale" msgstr "Mierka" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 #, fuzzy msgid "Autogain" msgstr "Automatická hlasitosť" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Kmitočet" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Vzorky" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Stíšený" #: 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:116 #, fuzzy msgid "Frequency 1 Split" msgstr "Frekvencia" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "Vrchol F2" #: data/ui/deesser.ui:149 #, fuzzy msgid "Frequency 2 Peak" msgstr "Frekvencia" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "Zisk F1" #: data/ui/deesser.ui:195 #, fuzzy msgid "Frequency 1 Gain" msgstr "Frekvencia" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "Úroveň F2" #: data/ui/deesser.ui:230 #, fuzzy msgid "Frequency 2 Level" msgstr "Frekvencia" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 vrchol Q" #: data/ui/deesser.ui:265 #, fuzzy msgid "Frequency 2 Peak Q" msgstr "Frekvencia" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Nedbanlivosť" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Zistené" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 #, fuzzy msgid "Reduction" msgstr "Redukcia" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Oneskorenie" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Preklopiť fázu" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filter" #: data/ui/echo_canceller.ui:27 #, fuzzy msgid "Filter Length" msgstr "Filter" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Potlačenie šumu" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Vyváženie" #: data/ui/equalizer.ui:127 #, fuzzy msgid "Pitch Left" msgstr "Postranný reťazec" #: data/ui/equalizer.ui:160 #, fuzzy msgid "Pitch Right" msgstr "Postranný reťazec" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Rozdeliť kanály" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Vyhladiť" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Vypočítať frekvencie" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Pásma" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 #, fuzzy msgid "Import Preset" msgstr "Načítať predvoľbu" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Načítať predvoľbu" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Sklon" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Sólo" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalita" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Šírka" #: data/ui/exciter.ui:211 #, fuzzy msgid "Ceil" msgstr "Strop" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 #, 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 #, 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 #, fuzzy msgid "Sidechain PreAmplification" msgstr "Predzosilnenie" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Spojenie sterea" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 #, fuzzy msgid "External Sidechain" msgstr "Postranný reťazec" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 #, fuzzy msgid "Auto Leveling" msgstr "Automatické úrovne" #: data/ui/limiter.ui:537 #, fuzzy msgid "Auto Leveling Attack" msgstr "Automatické úrovne" #: data/ui/limiter.ui:573 #, fuzzy msgid "Auto Leveling Release" msgstr "Automatické úrovne" #: data/ui/limiter.ui:608 #, fuzzy msgid "Auto Leveling Knee" msgstr "Automatické úrovne" #: data/ui/limiter.ui:633 #, fuzzy msgid "Gain Left" msgstr "Ľavý" #: data/ui/limiter.ui:660 #, fuzzy msgid "Gain Right" msgstr "Pravý" #: data/ui/limiter.ui:687 #, fuzzy msgid "Sidechain Left" msgstr "Postranný reťazec" #: data/ui/limiter.ui:714 #, 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:104 #, fuzzy msgid "Clipping" msgstr "Priradenie kanála" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Strop" #: 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:268 data/ui/multiband_gate.ui:268 #, fuzzy msgid "Bands List" msgstr "Pásma" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 #, fuzzy msgid "Band 1" msgstr "Pásma" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 #, fuzzy msgid "Band 2" msgstr "Pásma" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 #, fuzzy msgid "Band 3" msgstr "Pásma" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 #, fuzzy msgid "Band 4" msgstr "Pásma" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 #, fuzzy msgid "Band 5" msgstr "Pásma" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 #, fuzzy msgid "Band 6" msgstr "Pásma" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 #, fuzzy msgid "Band 7" msgstr "Pásma" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 #, 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:57 data/ui/multiband_gate_band.ui:57 #, fuzzy msgid "Band End" msgstr "Pásma" #: data/ui/multiband_compressor_band.ui:112 #, fuzzy msgid "Band Compression Mode" msgstr "Mód kompresora" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 #, fuzzy msgid "Band Bypass" msgstr "Premostiť" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 #, fuzzy msgid "Band Sidechain Options" msgstr "Postranný reťazec" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Režim sterea" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Režim filtra nízkej priepuste" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 #, fuzzy msgid "Low-Cut Filter Frequency" msgstr "Režim filtra nízkej priepuste" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Horný prechod" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 #, fuzzy msgid "High-Cut Filter Frequency" msgstr "Horný prechod" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 #, fuzzy msgid "Band Gain" msgstr "Vstupné Zosilnenie" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 #, fuzzy msgid "Band Curve" msgstr "Krivka" #: data/ui/multiband_gate_band.ui:850 #, 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:254 #, fuzzy msgid "Output Devices" msgstr "Výstupné efekty" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Výstupné predvoľby:" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Výstupné predvoľby:" #: data/ui/pipe_manager_box.ui:372 #, fuzzy msgid "Input Devices" msgstr "Obmedzovač na vstupe" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 #, fuzzy msgid "Input Presets" msgstr "Vstupné predvoľby: " #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 #, fuzzy msgid "Input Autoloading Presets List" msgstr "Vstupné predvoľby: " #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:471 #, fuzzy msgid "Modules List" msgstr "Moduly" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:503 #, fuzzy msgid "Clients List" msgstr "Klienti" #: data/ui/pipe_manager_box.ui:517 #, fuzzy msgid "Test Signal" msgstr "Skúšobné signály" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Stav" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 #, fuzzy msgid "Enabled" msgstr "Povolené" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 #, fuzzy msgid "Both Channels" msgstr "Kanály" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 #, fuzzy msgid "Sine Wave" msgstr "Sínusová tabuľka" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Okno" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filter" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Výška tónu" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Poltóny" #: data/ui/pitch.ui:160 #, fuzzy msgid "Tempo Difference" msgstr "Referenčný Signál" #: data/ui/pitch.ui:183 #, fuzzy msgid "Rate Difference" msgstr "Referenčný Signál" #: data/ui/plugin_row.ui:39 #, fuzzy msgid "Remove this effect" msgstr "Odstrániť predvoľbu" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 #, fuzzy msgid "Add Effect" msgstr "Vstupné predvoľby: " #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 #, fuzzy msgid "No Effects" msgstr "EasyEffects" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Použiť tmavý motív" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 #, fuzzy msgid "Experimental Features" msgstr "Experimentálna" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Skryť okno" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Výška" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Šírka čiary" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Výplň" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 #, fuzzy msgid "Color" msgstr "Farba osi" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 #, fuzzy msgid "Frequency Range" msgstr "Frekvencia" #: data/ui/preferences_spectrum.ui:212 #, fuzzy msgid "Minimum" msgstr "Maximálna" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Maximálna" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Načítať" #: data/ui/preset_row.ui:38 #, 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:47 msgid "Save current settings to this preset file" msgstr "Uložiť aktuálne nastavenia do tejto predvoľby" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Odstrániť predvoľbu" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Vstupné predvoľby: " #: data/ui/presets_menu.ui:38 #, fuzzy msgid "Create a new preset" msgstr "Vytvoriť predvoľbu" #: data/ui/presets_menu.ui:52 #, fuzzy msgid "Import a preset" msgstr "Načítať predvoľbu" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Vstupné predvoľby: " #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Vstupné predvoľby: " #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Vysokofrekvenčné tlmenie" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Veľkosť miestnosti" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Malá" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Stredná" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Veľká" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tunel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Veľká/hladká" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Experimentálna" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Rozptyl" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Predoneskorenie" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Čas dozvuku" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Odrezanie basov" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Odrezanie výšok" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Okolie" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Prázdne steny" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Miestnosť" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Veľká miestnosť (prázdna)" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:623 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:154 #, 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 #, fuzzy msgid "Standard Model" msgstr "Štandardný model RNNoise" #: data/ui/rnnoise.ui:206 #, fuzzy msgid "RNNoise Models List" msgstr "Štandardný model RNNoise" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktívny model" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Potlačenie šumu" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "Úroveň F2" #: data/ui/stereo_tools.ui:79 #, fuzzy msgid "Input Balance" msgstr "Vyváženie" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Softclip" #: data/ui/stereo_tools.ui:116 #, fuzzy msgid "Softclip Level" msgstr "Softclip" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereo matica" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "ĽP > PĽ (štandardné Stereo)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "ĽP > SS (stereo ku strednej strane)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "SS > ĽP (stredná strana ku stereu)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "ĽP > ĽĽ (mono ľavý kanál)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "ĽP > PP (mono pravý kanál)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "ĽP > Ľ+P (mono sčítanie Ľ+P)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "ĽP > PĽ (stereo preklopené Kanály)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Režim sterea" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Úroveň strán" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Vyváženie strán" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Stredová úroveň" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Stredná paronáma" #: data/ui/stereo_tools.ui:424 #, fuzzy msgid "Output Balance" msgstr "Výstupný Zisk" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Oneskorenie Ľ/P" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Oneskorenie Ľavo/Pravo" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Základ sterea" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 #, 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:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 #, fuzzy msgid "Reset Easy Effects." msgstr "Obnoviť EasyEffects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Skryť okno." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Zobraziť dostupné predvoľby." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 #, fuzzy msgid "Impulse File Not Imported" msgstr "Načítať súbor impulzu" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Načítať súbor impulzu" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Otvoriť" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Odpoveď impulzu" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Načítať impulz" #: src/convolver_menu_impulses.cpp:288 #, fuzzy msgid "Remove Impulse" msgstr "Importovať impulz" #: src/convolver_ui.cpp:368 #, fuzzy msgid "No Impulse File Loaded" msgstr "Načítať súbor impulzu" #: src/convolver_ui.cpp:394 #, 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:773 #, fuzzy msgid "Recorders" msgstr "Okraj" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Prehrávače" #: src/effects_box.cpp:352 #, fuzzy msgid "Effects" msgstr "EasyEffects" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO predvoľby" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO predvoľby" #: src/equalizer_ui.cpp:734 #, fuzzy msgid "Import GraphicEQ Preset File" msgstr "Načítať APO predvoľbu" #: src/equalizer_ui.cpp:742 #, fuzzy msgid "GraphicEQ Presets" msgstr "Vstupné predvoľby: " #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Výstupné efekty" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 #, fuzzy msgid "Output Device" msgstr "Výstupné efekty" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Pridať" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Aplikácie" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" #, 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: " #, fuzzy #~ msgid "Search Output Preset" #~ msgstr "Výstupné predvoľby: " #, fuzzy #~ msgid "Output Presets List" #~ 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" #, 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" #~ 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 "Updated translations" #~ msgstr "Aktualizované preklady" #~ 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á" #~ 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.6/po/sv.po000066400000000000000000002102751460155372000154460ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Förinställningar\"" #: 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Tystnad" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Maximal historik" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "Återställ historik" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Återställ" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Utgångsförstärkning (dB)" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Ingång" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Plugin ingångsförstärkning (dB)" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Utgång" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Plugin utgångsförstärkning (dB)" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Förstärkning" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Komprimeringsläge" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Tröskelvärde för förstärkning (dB)" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Förstärkningsmängd" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Attack (ms)" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Tröskelvärde (dB)" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Attacktid (ms)" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Tröskelvärde för attack (dB)" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Släpp (s)" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Tid för frisläppning (s)" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Tröskelvärde för frisläppning (dB)" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Förhållande (n:1)" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Knävärde (dB)" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Makeup (dB)" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Torrnivå" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Våtnivå" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Sidokedja" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Mitten" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Sida" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 #, fuzzy msgid "Min" msgstr "Minst" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Sidokedjekälla" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 #, fuzzy msgid "Left/Right" msgstr "Fördröj vänster höger" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 #, fuzzy msgid "Right/Left" msgstr "Tonhöjd vänster" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 #, fuzzy msgid "Mid/Side" msgstr "Sida" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 #, fuzzy msgid "Side/Mid" msgstr "Sida" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 #, fuzzy msgid "Stereo Split Source" msgstr "Stereoläge" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Topp" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Lågpassfilter" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Sidokedjeläge" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Extern sidokedja" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Respons" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Typ av sidokedja" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Ingångsenhet" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Förförstärkning" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Sidokedjefilter" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Högpass" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Frekvens (Hz)" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Högpassfilterläge" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Högpassfilterfrekvens" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Lågpass" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Lågpassfilterläge" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Förstärkning" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "V" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Automatisk förstärkning" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Takt" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Prover" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekvens 1 delning (Hz)" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 topp" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frekvens 2 topp (Hz)" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 förstärkning (dB)" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frekvens 1 förstärkning (Hz)" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 nivå" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frekvens 2 nivå (Hz)" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 topp Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frekvens 2 topp Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Upptäckt" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Reduktion" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Fördröjning" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" 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:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "Filterlängd" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Filterlängd" #: data/ui/echo_canceller.ui:50 #, fuzzy msgid "Residual Echo Suppression" msgstr "Kompressor" #: data/ui/echo_canceller.ui:72 #, 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Balans" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Tonhöjd vänster" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Tonhöjd höger" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Delade kanaler" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Platt respons" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 #, fuzzy msgid "Sort Bands" msgstr "Underband" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Importera förinställning" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Importera förinställning" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kvalitet" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Bredd" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Tak (dB)" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Sidokedjeförförstärkning" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Förstärkning" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereolänk" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Extern sidokedja" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Automatisk utjämning" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Automatisk utjämningsattack" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Automatisk utjämningsutlösning" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Automatisk knäutjämning" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Förstärkning vänster" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Sidokedja vänster" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Klippning" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Tak" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Lista över band" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Bandkomprimeringsläge" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Alternativ för bandsidokedja" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 #, fuzzy msgid "Stereo Split" msgstr "Stereoläge" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "Lågklippt filter" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Lågklippt filterfrekvens" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "Högklippt filter" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Högklippt filterfrekvens" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Bandförstärkning" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Utgångsenheter" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Utgångsförinställningar" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Lista över utgångsförinställningar" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Ingångsenheter" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Ingångsförinställningar" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Lista över ingångsförinställningar" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Testsignal" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Aktiverad" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanaler" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Båda kanalerna" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinusvåg" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "Mellanrum (s)" #: data/ui/pitch.ui:104 #, fuzzy msgid "Overlap Length" msgstr "Filterlängd" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Ta bort denna effekt" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Lägg till effekt" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Inga effekter" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Använd mörkt tema" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 #, fuzzy msgid "Native Plugin Window" msgstr "Mellanrum (s)" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Linjebredd" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Frekvensomfång" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Minst" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 #, fuzzy msgid "Discard the current settings and load this preset" msgstr "Spara dessa inställningar till fil" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "Spara dessa inställningar till fil" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 #, fuzzy msgid "New Preset Name" msgstr "Nytt namn på förinställd ingång" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Skapa en ny förinställning" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Importera en förinställning" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Sök ingångsförinställning" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Lista över ingångsförinställningar" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Rumsstorlek" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Liten" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Stor" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Före fördröjning" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Omgivning" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Rum" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Aktiv modell" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 #, fuzzy msgid "Noise Suppression" msgstr "Kompressor" #: data/ui/speex.ui:147 #, fuzzy msgid "Level" msgstr "F2 nivå" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Ingångsbalans" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Softclipnivå" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereomatris" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono vänster kanal)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono höger kanal)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereoläge" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Sidonivå" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Sidobalans" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Mellannivå" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Mellanpanorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Utgångsbalans" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Fördröjning L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Fördröj vänster höger" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Stereobas" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Återställ Easy Effects." #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Impulsfilen har inte importerats" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Importera impulsfil" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Impulssvar" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Ladda impuls" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Ta bort impuls" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Ingen impulsfil laddad" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Det gick inte att ladda Impulsfilen" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Effekter" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "Importera APO-förinställd fil" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO-förinställningar" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 #, fuzzy msgid "Export EqualizerAPO Preset File" msgstr "Importera APO-förinställd fil" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 #, fuzzy msgid "EqualizerAPO Presets" msgstr "APO-förinställningar" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "Importera GraphicEQ-förinställd fil" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ-förinställningar" #: src/equalizer_ui.cpp:767 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:230 #, fuzzy msgid "Output Level Meter" msgstr "Utmatningsenhet" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Ta bort" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Utmatningsenhet" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Lista över exkluderade applikationer" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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 "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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Använder" #~ 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" #~ msgid "Search Output Preset" #~ msgstr "Sök utgångsförinställning" #~ msgid "Output Presets List" #~ msgstr "Lista över utgångsförinställningar" #, 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 1" #~ msgstr "Delad frekvens 1" #~ 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.6/po/th.po000066400000000000000000001521331460155372000154270ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.6/po/tr.po000066400000000000000000002377321460155372000154520ustar00rootroot00000000000000# 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-03-26 15:58+0000\n" "PO-Revision-Date: 2024-03-25 20:02+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-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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" msgstr "\"Ön Ayarlar\"" #: 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:270 msgid "Change the volume of this application" msgstr "Bu uygulamanın ses seviyesini değiştir" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Sessizlik" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Azami Geçmiş" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "Referans" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "Anlık" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "Kısa Süreli" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "Tümleşik" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Geometrik Ortalama (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "Geometrik Ortalama (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "Geometrik Ortalama (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "Geometrik Ortalama (SI)" #: data/ui/autogain.ui:127 msgid "History" msgstr "Geçmiş" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Sıfırla" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Göreceli" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Sınır" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Çıktı Kazancı" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Girdi" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Eklenti Girdi Kazancı" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Çıktı" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Eklenti Çıktı Kazancı" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 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:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Harmonikler" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Kapsam" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Zemin" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Zemin Değeri" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Kip" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Aşağıya" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Yukarı doğru" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Yükseltme" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Sıkıştırma Kipi" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Yükseltme Eşiği" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Yükseltme Miktarı" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Atak" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Zaman" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Eşik" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Atak Zamanı" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Atak Eşiği" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Bırak" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Bırakma Zamanı" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Bırakma Eşiği" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Oran" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Oynak" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "Süs" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Kuru Düzey" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Islak Düzey" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "Yanzincir" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Kaynak" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Orta" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Yan" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "Sol" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "Sağ" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Asgari" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Azami" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "Yanzincir Kaynağı" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Sol/Sağ" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Sağ/Sol" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Orta/Yan" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Yan/Orta" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Stereo Bölme Kaynağı" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Doruk" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Düşük Geçiş Süzgeci" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "Basit Hareketli Ortalama" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "Yanzincir Kipi" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "Yanzincir Dinle" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Tür" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "İleri-besleme" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "Geri-besleme" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Harici" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "Yanzincir Türü" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Giriş Aygıtı" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Ön Yükseltme" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Tepkinirlik" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "İlerleme" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "Yanzincir Süzgeçleri" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "Yüksek Geçiş" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Sıklık" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Kapalı" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/oct" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "24 dB/oct" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/oct" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Yüksek Geçiş Süzgeci Kipi" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Yüksek Geçiş Süzgeci Frekansı" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "Düşük Geçiş" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Alçak Geçiş Süzgeci Kipi" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Kazanç" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "Eğim" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 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:549 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:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Spektrum" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Günlük Ölçeği" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Otomatik Kazanç" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Oran" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Örnekler" #: data/ui/convolver.ui:190 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:66 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:79 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:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" msgstr "Sessiz" #: 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:116 msgid "Frequency 1 Split" msgstr "Frekans 1 Bölme" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 Doruk" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "Frekans 2 Doruk" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 Kazancı" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "Frekans 1 Kazancı" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 Seviye" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "Frekans 2 Seviyesi" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2 Doruk Q" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "Frekans 2 Doruk Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "Gevşeklik" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "Saptanan" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "Azaltma" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "Gecikme" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "Ters Faz" #: 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:87 msgid "Maximum ERB Processing threshold" msgstr "Azami ERB İşleme eşiği" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "Azami DF İşleme Eşiği" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "Asgari İşleme Tamponu" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "Süzgeç Sonrası Beta" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "Süzgeç Uzunluğu" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "Artık Yankı Bastırma" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "Denge" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "Sol Perde" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "Sağ Perde" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "Kanalları Böl" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "Düz Yanıt" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "Frekansları Hesapla" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "Bantları Sırala" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "Ön Ayarı İçe Aktar" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "Ön Ayarı İçe Aktar" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "Eğim" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "Tekli" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "Kalite" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "Genişlik" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "Tavan" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "Bölge" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "Gecikme" #: data/ui/gate.ui:336 msgid "Mix" msgstr "Karıştır" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "Atak Bölgesi Başlangıcı" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "Yanzincir Ön Yükseltmesi" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "Artır" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "Stereo Bağ" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "Harici Yanzincir" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "Harici Yanzincir Kaynağı" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "Otomatik Dengeleme" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "Otomatik Dengeleme Saldırısı" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "Otomatik Dengeleme Yayını" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "Otomatik Dengeleme Dizliği" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "Kazanç Sol" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "Kazanç Sağ" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "Yanzincir Sol" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "Kırpma" #: data/ui/maximizer.ui:71 msgid "Ceiling" msgstr "Tavan" #: 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "Bant Listesi" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "Bant 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "Bant 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "Bant 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "Bant 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "Bant 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "Bant 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "Bant 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "Bant Sonu" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "Bant Sıkıştırma Kipi" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "Bant Atlama" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "Bant Yanzincir Seçenekleri" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "Stereo Bölme" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "Düşük-Kesim" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "Düşük-Kesim Süzgeç Frekansı" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "Yüksek-Kesim" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "Yüksek-Kesim Süzgeci Frekansı" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "Ön Yükseltme" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "Bant Kazancı" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "Bant Zarfı" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "Bant Eğrisi" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "Çıkış Aygıtları" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "Çıkış Ön Ayarları" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "Birleşme Oluştur" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "Otomatik Yükleme Çıktı Ön Ayarı Ekle" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "Çıktı Otomatik Yükleme Ön Ayarları Listesi" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "Giriş Aygıtları" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "Giriş Ön Ayarları" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "Otomatik Yükleme Girdi Ön Ayarı Ekle" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "Girdi Otomatik Yükleme Ön Ayarları Listesi" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "Modüller" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "Modül Listesi" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "İstemciler" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "İstemci Listesi" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "Test Sinyali" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "Durum" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "Etkin" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "Özellikler" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "Kanallar" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "Her ikisi" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "Her İki Kanal" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "Dalga Biçimi" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "Sinüs Dalgası" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "Arama Penceresi" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "Örtüşme Uzunluğu" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "Perde" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "Yarım Ses" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "Tempo Farkı" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "Oran Farkı" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "Bu efekti kaldır" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "Bu efekti etkinleştir/devre dışı bırak" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "Bu efektin konumunu değiştir" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "Efekt Ekle" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "Kullanılan Eklentiler Listesi" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "Efekt Yok" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "Güncelleme Aralığı (Seviye Ölçerler ve Spektrum)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "Güncelleme Sıklığı (LV2 Eklentileri)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "Görünüm" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "Koyu Tema Kullan" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "Dış Tıklamalarda Menüleri Gizle" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "Deneysel özellikler" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "Yerel Eklenti Penceresi" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "Yükseklik" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "Hat Genişliği" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "Dolgu" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "Çubuk Kenarlığını Göster" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "Yuvarlatılmış Köşeler" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "Dinamik Ölçek" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "Renk" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "Çizgiler ve Çubuklar" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "Eksen Etiketleri" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "Frekans Aralığı" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "Asgari" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "Azami" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "Yük" #: data/ui/preset_row.ui:38 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:47 msgid "Save current settings to this preset file" msgstr "Geçerli ayarları bu ön ayar dosyasına kaydet" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "Hazır ayar dosyasını kaldır" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "Yeni Ön Ayar Adı" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "Yeni bir ön ayar oluştur" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "Bir ön ayarı içe aktar" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "Ön Ayar Ara" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "Ön Ayarlar Listesi" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "Yüksek Frekans Sönümleme" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "Oda Boyutu" #: data/ui/reverb.ui:83 msgid "Small" msgstr "Küçük" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "Orta" #: data/ui/reverb.ui:85 msgid "Large" msgstr "Büyük" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "Tünel" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "Büyük/pürüzsüz" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "Deneysel" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "Yayılma" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "Ön Gecikme" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "Bozunma Süresi" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "Bas Kesim" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "Tiz Kesim" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "Ortam" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "Boş Duvarlar" #: data/ui/reverb.ui:596 msgid "Room" msgstr "Oda" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "Büyük Boş Salon" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "Disko" #: data/ui/reverb.ui:623 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:154 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:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "Standart Model" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "RNNoise Modelleri Listesi" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "Model Yüklenmedi" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "Etkin Model" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "Devam et" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "Gürültü Baskılayıcı" #: data/ui/speex.ui:147 msgid "Level" msgstr "Düzey" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "Giriş Dengesi" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "Yumuşak kırpım" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "Yumuşak Kırpım Seviyesi" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "Stereo Matris" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (Stereo Öntanımlı)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (Stereo Orta Tarafa)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (Orta Taraftan Stereo)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (Mono Sol Kanal)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (Mono Sağ Kanal)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (Mono İşlem L+R)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (Stereo Kanalları Ters Çevir)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "Stereo Kipi" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "Seviye Tarafı" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "Denge Tarafı" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "Orta Seviye" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "Orta Panorama" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "Çıkış Dengesi" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "Gecikme L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "Gecikme Sol Sağ" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "Stereo Taban" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 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:599 msgid "Print the easyeffects version" msgstr "Easyeffects sürümünü yazdır" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "Easy Effects’i Sıfırla." #: src/application.cpp:605 msgid "Hide the Window." msgstr "Pencereyi Gizle." #: src/application.cpp:608 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:611 msgid "Show available presets." msgstr "Kullanılabilir hazır ayarları göster." #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "Dosya Normal Değil" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Dürtü Dosyası Bozuk veya Desteklenmiyor Olabilir" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "Yalnızca Stereo Dürtü Dosyaları Desteklenir" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "Dürtü Dosyası İçe Aktarılmadı" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "Dürtü Dosyasını İçe Aktar" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "Aç" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "Dürtü Yanıtı" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "Dürtüyü Yükle" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "Dürtüyü Kaldır" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "Dürtü Dosyası Yüklenmemiş" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "Dürtü Dosyası Yüklenemedi" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "Kaydediciler" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "Oynatıcılar" #: src/effects_box.cpp:352 msgid "Effects" msgstr "Efektler" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "APO Ön Ayar Dosyasını İçe Aktar" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO Ön Ayarları" #: src/equalizer_ui.cpp:486 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:541 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:549 msgid "Export EqualizerAPO Preset File" msgstr "EqualizerAPO Ön Ayar Dosyasını Dışa Aktar" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "Kaydet" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO Ön Ayarları" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "GraphicEQ Ön Ayar Dosyasını İçe Aktar" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ Ön Ayarları" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "Çıktı Düzey Ölçer" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "Kaldır" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "Çıkış Aygıtı" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "Ekle" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "Kaydedilsin mi?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "Silinsin mi?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "Ön Ayar Doğru Yüklenmedi" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "Hariç Tutulan Uygulamalar Listesinde Yanlış Biçim" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "Hariç Tutulan Uygulamalar Listesi Yüklenirken Genel Hata" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "Efektler Listesinde Yanlış Biçim" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "Efekt Listesi Yüklenirken Genel Hata" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "Bir veya Daha Fazla Parametre Yanlış Biçime Sahip" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" msgstr "Efekt Yüklenirken Genel Hata" #: 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:166 msgid "-inf" msgstr "-sonsuz" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "{} Kullanıyor" #, 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 "Search Output Preset" #~ msgstr "Çıkış Ön Ayarı Ara" #~ msgid "Output Presets List" #~ msgstr "Çıkış Ön Ayarları Listesi" #~ 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" #, 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" #~ 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 "Updated translations" #~ msgstr "Çeviriler güncellendi" #~ 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 "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 "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.6/po/uk.po000066400000000000000000001644201460155372000154350ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "Змініть гучність цього додатку" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "Тиша" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "Максимальний розмір історії" #: data/ui/autogain.ui:106 #, fuzzy msgid "Reference" msgstr "Довідка" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 #, fuzzy msgid "Momentary" msgstr "Миттєве" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 #, fuzzy msgid "Short-Term" msgstr "Короткострокові" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 #, fuzzy msgid "Integrated" msgstr "Інтегроване" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "Середнє геометричне (MSI)" #: data/ui/autogain.ui:116 #, fuzzy msgid "Geometric Mean (MS)" msgstr "Середнє геометричне (MS)" #: data/ui/autogain.ui:117 #, fuzzy msgid "Geometric Mean (MI)" msgstr "Середнє геометричне (MI)" #: data/ui/autogain.ui:118 #, fuzzy msgid "Geometric Mean (SI)" msgstr "Середнє геометричне (SІ)" #: data/ui/autogain.ui:127 msgid "History" msgstr "Історія" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "Скинути" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "Відносне" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "Діапазон" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "Вихідний коефіцієнт підсилення" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "Вхід" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "Підсилення входу з плагіну" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "Вихід" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "Підсилення виходу з плагіну" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "Назва" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "Профіль" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 #, 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "Гармоніки" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "Межа застосування" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "Поріг" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "Порогове значення" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "Режим" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "Вниз" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "Вгору" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "Підсилення" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "Режим стиснення" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "Поріг підвищення" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "Інтенсивність підвищення" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "Атака" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "Час" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "Поріг" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "Час атаки" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "Поріг атаки" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "Випуск" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "Час випуску" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "Поріг випуску" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "Співвідношення" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "Коліно" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 #, fuzzy msgid "Makeup" msgstr "Макіяж" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "Рівень сухості" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "Рівень вологості" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 #, fuzzy msgid "Sidechain" msgstr "Побічний ланцюг" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "Джерело" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "Середина" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "Сторона" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 #, fuzzy msgid "Left" msgstr "Ліво" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 #, fuzzy msgid "Right" msgstr "Право" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "Мін" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "Макс" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 #, fuzzy msgid "Sidechain Source" msgstr "Джерело побічного ланцюгу" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "Ліво/право" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "Право/ліво" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "Середина/Сторона" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "Сторона/Середина" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "Режим Розділення Стерео" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "Пік" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "RMS" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "Фільтр низьких частот" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 #, fuzzy msgid "Simple Moving Average" msgstr "Просте рухоме середнє" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 #, fuzzy msgid "Sidechain Mode" msgstr "Режим побічного ланцюга" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 #, fuzzy msgid "Listen Sidechain" msgstr "Слухати побічний ланцюг" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "Тип" #: data/ui/compressor.ui:699 #, fuzzy msgid "Feed-forward" msgstr "Подача вперед" #: data/ui/compressor.ui:700 #, fuzzy msgid "Feed-back" msgstr "Подача назад" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "Зовнішній" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 #, fuzzy msgid "Sidechain Type" msgstr "Тип побічного ланцюга" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "Пристрій вводу" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "Передпосилення" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "Реактивність" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 #, fuzzy msgid "Lookahead" msgstr "Дивитися вперед" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 #, fuzzy msgid "Sidechain Filters" msgstr "Фільтри побічного ланцюга" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 #, fuzzy msgid "High-Pass" msgstr "Високі частоти" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "Частота" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "Вимкнено" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "12 dB/окт" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "23 dB/окт" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "36 dB/окт" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "Режим фільтру високих частот" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "Частота фільтру високих частот" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 #, fuzzy msgid "Low-Pass" msgstr "Низькі частоти" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "Режим фільтру низьких частот" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "Посилення" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 #, fuzzy msgid "Envelope" msgstr "Конверт" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "Крива" #: data/ui/convolver.ui:40 msgid "L" msgstr "L" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "Лівий канал" #: data/ui/convolver.ui:53 msgid "R" msgstr "R" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "Спектр" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "Масштабування журналу" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "Автопідсилення" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "Оцінка" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "Зразки" #: data/ui/convolver.ui:190 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:66 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:79 #, fuzzy msgid "Feed" msgstr "Фід" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 #, fuzzy msgid "Export Preset" msgstr "Пресет" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 #, fuzzy msgid "Search Preset" msgstr "Пресет" #: data/ui/presets_menu.ui:129 #, fuzzy msgid "Presets List" msgstr "Пресети" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 #, fuzzy msgid "Wrong Format in Excluded Apps List" msgstr "Список виключених програм" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, fuzzy, c++-format msgid "Using {}" msgstr "Використання" #, fuzzy #~ msgid "Wet Ratio" #~ msgstr "Співвідношення" #, fuzzy #~ msgid "VAD Threshold" #~ msgstr "Поріг" #, fuzzy #~ msgid "Loudness List" #~ msgstr "Гучність" #, fuzzy #~ msgid "_Manual" #~ msgstr "_Посібник" easyeffects-7.1.6/po/zh_CN.po000066400000000000000000002240241460155372000160140ustar00rootroot00000000000000# 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-03-26 15:58+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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "改变该应用的音量" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "静音" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "历史记录最大值" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "参考" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "瞬时" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "短期" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "综合" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "几何平均 (MSI)" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "几何平均 (MS)" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "几何平均 (MI)" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "几何平均 (SI)" #: data/ui/autogain.ui:127 #, fuzzy msgid "History" msgstr "清除记录" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "重置" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "相对值" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "范围" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "输出增益" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "输入" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "插件输入增益" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "输出" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "插件输出增益" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "名称" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "概述" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "谐波" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "范围" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "下限" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "下限" #: data/ui/bass_loudness.ui:71 #, 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "模式" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "向下" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "向上" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "加强" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "压缩模式" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "增强阈值" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "增强量" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "建立" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "时间" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "阈值" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "建立时间" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "建立阈值" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "释放" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "释放时间" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "释放阈值" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "比率" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "拐点" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "补偿" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "干声级别" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "湿声级别" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "侧链" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "源" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "中央" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "侧边" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "左" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "右" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "输入端最低值" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "输入端最高值" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "侧链声源" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "左/右" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "右/左" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "中置/侧边" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "侧边/中置" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "分离立体声源" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "峰值" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "均方根值" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "低通滤波器" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "简单移动平均法" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "侧链模式" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "播放侧链" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "类型" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "前馈式" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "反馈式" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "外部" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "侧链类型" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "输入设备" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "前置放大" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "响应" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "前视时间" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "侧链过滤器" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "高通滤波器" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "频率" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "关闭" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "每八度 12 dB" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "每八度 24 dB" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "每八度 36 dB" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "高通滤波模式" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "高通滤波频率" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "低通" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "低通滤波模式" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "增益" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "波封" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "压缩曲线" #: data/ui/convolver.ui:40 msgid "L" msgstr "左" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "左声道" #: data/ui/convolver.ui:53 msgid "R" msgstr "右" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "频谱" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "对数坐标" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "自动增益" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "速率" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "样本" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "反馈" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "旁路" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "频率 1 分割" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "F2 峰值" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "频率 2 峰值" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "F1 增益" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "频率 1 增益" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "F2 级别" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "频率 2 水平" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "F2极限Q值" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "频率 2 Peak Q" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "松弛度" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "已侦测到" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "衰减" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "延迟" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "反转相位" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "衰减极限" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "最小处理阈值" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "最大ERB处理阈值" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "最大DF处理阈值" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "最小处理缓冲区" #: data/ui/deepfilternet.ui:167 #, fuzzy msgid "Post Filter Beta" msgstr "过滤器长度" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "过滤器长度" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "残余回声抑制" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "平衡" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "左音高" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "右音高" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "分离声道" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "平滑响应" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "频率响应" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "将频段排序" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "导入预设" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "导出预设" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "斜率" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "独奏" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "品质" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "宽度" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "上限" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "过渡区间" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "迟滞" #: data/ui/gate.ui:336 msgid "Mix" msgstr "干湿声混合" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "建立区间开头" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "侧链前置放大" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "增强" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "立体声连锁" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "外部侧链" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "外部侧链声源" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "自动调平" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "自动调平建立" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "自动调平释放" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "自动调平拐点" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "左增益" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "右增益" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "左边侧链" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "削波" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "频段列表" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "频段 1" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "频段 2" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "频段 3" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "频段 4" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "频段 5" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "频段 6" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "频段 7" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "频段末尾" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "频段压缩模式" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "频段旁路" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "频段侧链选项" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "立体声分离" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 #, fuzzy msgid "Low-Cut" msgstr "低切滤音" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "低切滤音器频率" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 #, fuzzy msgid "High-Cut" msgstr "高切滤音" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "高切滤音器频率" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "前置放大器" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "频段增益" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "频段包络" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "频段曲线" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "输出设备" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "输出预设" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "创建关联" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "新建自动加载的输出预设" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "输出自动加载预设列表" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "输入设备" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "输入预设" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "新建自动加载的输入预设" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "输入自动加载预设列表" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "模块" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "模块列表" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "客户端" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "客户端列表" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "测试信号" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "状态" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "已启用" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "属性" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "声道" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "双声道" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "双声道" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "波形" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "正弦波" #: data/ui/pipe_manager_box.ui:594 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:81 #, fuzzy msgid "Seek Window" msgstr "关闭窗口" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "重叠长度" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "音高" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "半音" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "拍子差" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "速率差" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "删除此音效" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "启用/禁用此音效" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "改变此音效的位置" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "添加音效" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "使用的插件的列表" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "无音效" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "更新间隔(电平表、频谱)" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "更新频率(LV2插件)" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "界面风格" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "使用暗色主题" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "点击外部时隐藏菜单" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "实验性功能" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "原生插件窗口" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "高度" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "线宽" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "填充频谱" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "显示条柱边框" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "圆角" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "动态比例" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "颜色" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "线形与条柱" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "坐标轴标签" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "频率范围" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "最低" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "最高" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "加载" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "丢弃当前设置并加载此预设" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "将当前设置保存到这个预设文件" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "删除这个预设文件" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "新预设名称" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "创建新预设" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "导入预设" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "搜索预设" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "预设列表" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "高频阻尼" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "房间大小" #: data/ui/reverb.ui:83 msgid "Small" msgstr "小" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "中" #: data/ui/reverb.ui:85 msgid "Large" msgstr "大" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "通道" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "大/平整" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "实验性" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "扩散" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "前反射延迟" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "衰减时间" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "低切" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "高切" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "氛围" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "空旷" #: data/ui/reverb.ui:596 msgid "Room" msgstr "房间" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "空荡的大厅" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "舞厅" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "模型" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "标准模型" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "RNNoise 模型列表" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "模型尚未载入" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "激活模型" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "持续概率" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "抑制强度" #: data/ui/speex.ui:147 msgid "Level" msgstr "级别" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "输出平衡" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "软削波" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "软削波等级" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "立体声阵距" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "LR > LR (默认立体声)" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "LR > MS (立体声至中-侧)" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "MS > LR (中-侧至立体声)" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "LR > LL (单声道左)" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "LR > RR (单声道右)" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "LR > L+R (单声道左右合并)" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "LR > RL (立体声翻转)" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "立体声模式" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "侧边级别" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "侧边平衡" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "中置级别" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "中置全景" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "输出平衡" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "延迟 L/R" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "延迟 L/R" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "立体声基线" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "Weblate https://hosted.weblate.org/projects/easyeffects/" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "退出 Easy Effects。 在服务模式下运行时有用。" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "打印 EasyEffects 版本号" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "重置 Easy Effects。" #: src/application.cpp:605 msgid "Hide the Window." msgstr "隐藏隐藏窗口。" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "全局旁路。 1 启用,2 禁用,3 获取状态" #: src/application.cpp:611 msgid "Show available presets." msgstr "显示可用预设。" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "文件不是普通文件" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "Impulse文件已损坏或不支持" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "仅支持双声道Impulse文件" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "脉冲文件未导入" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "导入 Impulse 文件" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "打开" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "脉冲响应" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "加载脉冲" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "删除脉冲" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "未加载脉冲文件" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "加载脉冲文件失败" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "录音程序" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "播放器" #: src/effects_box.cpp:352 msgid "Effects" msgstr "音效" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "加载 APO 预设文件" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "APO 预设" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "APO 预设未成功加载。可能是文件格式不受支持。请检查文件内容。" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "导出 APO 预设时尚不支持分割通道。" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "导出 APO 预设文件" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "是否储存?" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "EqualizerAPO 预设" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "导入 GraphicEQ 预设文件" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "GraphicEQ 预设" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "输出电平表" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "删除" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "输出设备" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "添加" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "是否储存?" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "是否删除?" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "预设未成功加载" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "已排除程序列表的格式错误" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "加载已排除程序列表时出错" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "效果列表的格式错误" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "加载效果列表时出错" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "一个或多个参数格式错误" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "-inf" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" 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 "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 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 阈值" #, 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 "Updated translations" #~ 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 "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 "相位相关" #~ msgid "Automatic Smoothing Control" #~ msgstr "自动平滑控制" easyeffects-7.1.6/po/zh_Hant.po000066400000000000000000001526051460155372000164130ustar00rootroot00000000000000# 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-03-26 15:58+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" #. 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/schemas/com.github.wwmm.easyeffects.gschema.xml:14 #: data/schemas/com.github.wwmm.easyeffects.gschema.xml:17 msgid "\"Presets\"" 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:270 msgid "Change the volume of this application" msgstr "變更此程式的音量" #: data/ui/app_info.ui:272 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:119 src/presets_menu.cpp:408 #: src/presets_menu.cpp:419 src/presets_menu.cpp:447 src/presets_menu.cpp:458 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:57 msgid "Silence" msgstr "" #: data/ui/autogain.ui:82 msgid "Maximum History" msgstr "" #: data/ui/autogain.ui:106 msgid "Reference" msgstr "" #: data/ui/autogain.ui:112 data/ui/autogain.ui:161 data/ui/level_meter.ui:72 msgid "Momentary" msgstr "" #: data/ui/autogain.ui:113 data/ui/autogain.ui:199 data/ui/level_meter.ui:109 msgid "Short-Term" msgstr "" #: data/ui/autogain.ui:114 data/ui/autogain.ui:236 data/ui/level_meter.ui:145 msgid "Integrated" msgstr "" #: data/ui/autogain.ui:115 msgid "Geometric Mean (MSI)" msgstr "" #: data/ui/autogain.ui:116 msgid "Geometric Mean (MS)" msgstr "" #: data/ui/autogain.ui:117 msgid "Geometric Mean (MI)" msgstr "" #: data/ui/autogain.ui:118 msgid "Geometric Mean (SI)" msgstr "" #: data/ui/autogain.ui:127 msgid "History" msgstr "" #: data/ui/autogain.ui:132 data/ui/autogain.ui:601 data/ui/bass_enhancer.ui:462 #: data/ui/bass_loudness.ui:279 data/ui/compressor.ui:1323 #: data/ui/convolver.ui:395 data/ui/crossfeed.ui:288 data/ui/crystalizer.ui:204 #: data/ui/deesser.ui:653 data/ui/delay.ui:399 data/ui/deepfilternet.ui:379 #: data/ui/echo_canceller.ui:281 data/ui/equalizer.ui:576 #: data/ui/exciter.ui:461 data/ui/expander.ui:1241 data/ui/filter.ui:488 #: data/ui/gate.ui:1455 data/ui/limiter.ui:918 data/ui/loudness.ui:318 #: data/ui/maximizer.ui:310 data/ui/multiband_compressor.ui:663 #: data/ui/multiband_gate.ui:663 data/ui/pitch.ui:393 data/ui/reverb.ui:535 #: data/ui/rnnoise.ui:443 data/ui/speex.ui:359 data/ui/stereo_tools.ui:798 msgid "Reset" msgstr "" #: data/ui/autogain.ui:147 data/ui/autogain.ui:349 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:273 data/ui/level_meter.ui:181 msgid "Relative" msgstr "" #: data/ui/autogain.ui:310 data/ui/level_meter.ui:217 msgid "Range" msgstr "" #: data/ui/autogain.ui:386 msgid "Output Gain" msgstr "" #: data/ui/autogain.ui:433 data/ui/bass_enhancer.ui:262 #: data/ui/bass_loudness.ui:110 data/ui/compressor.ui:661 #: data/ui/compressor.ui:1155 data/ui/convolver.ui:226 data/ui/crossfeed.ui:119 #: data/ui/crystalizer.ui:46 data/ui/deesser.ui:424 data/ui/delay.ui:231 #: data/ui/deepfilternet.ui:211 data/ui/echo_canceller.ui:112 #: data/ui/equalizer.ui:408 data/ui/exciter.ui:262 data/ui/expander.ui:580 #: data/ui/expander.ui:1073 data/ui/filter.ui:320 data/ui/gate.ui:794 #: data/ui/gate.ui:1287 data/ui/level_meter.ui:263 data/ui/limiter.ui:750 #: data/ui/loudness.ui:150 data/ui/maximizer.ui:109 #: data/ui/multiband_compressor.ui:495 data/ui/multiband_gate.ui:495 #: data/ui/pipe_manager_box.ui:327 data/ui/pitch.ui:225 data/ui/reverb.ui:366 #: data/ui/rnnoise.ui:275 data/ui/speex.ui:190 data/ui/stereo_tools.ui:40 #: data/ui/stereo_tools.ui:629 msgid "Input" msgstr "" #: data/ui/autogain.ui:452 data/ui/bass_enhancer.ui:281 #: data/ui/bass_loudness.ui:129 data/ui/compressor.ui:1174 #: data/ui/convolver.ui:245 data/ui/crossfeed.ui:138 data/ui/crystalizer.ui:65 #: data/ui/deesser.ui:443 data/ui/delay.ui:250 data/ui/deepfilternet.ui:230 #: data/ui/echo_canceller.ui:131 data/ui/equalizer.ui:427 #: data/ui/exciter.ui:281 data/ui/expander.ui:1092 data/ui/filter.ui:339 #: data/ui/gate.ui:1306 data/ui/limiter.ui:769 data/ui/loudness.ui:169 #: data/ui/maximizer.ui:128 data/ui/multiband_compressor.ui:514 #: data/ui/multiband_gate.ui:514 data/ui/pitch.ui:244 data/ui/reverb.ui:385 #: data/ui/rnnoise.ui:294 data/ui/speex.ui:209 data/ui/stereo_tools.ui:648 msgid "Plugin Input Gain" msgstr "" #: data/ui/autogain.ui:517 data/ui/bass_enhancer.ui:346 #: data/ui/bass_loudness.ui:49 data/ui/bass_loudness.ui:194 #: data/ui/compressor.ui:1239 data/ui/convolver.ui:310 data/ui/crossfeed.ui:203 #: data/ui/crystalizer.ui:130 data/ui/deesser.ui:508 data/ui/delay.ui:315 #: data/ui/deepfilternet.ui:295 data/ui/echo_canceller.ui:196 #: data/ui/equalizer.ui:492 data/ui/exciter.ui:346 data/ui/expander.ui:1157 #: data/ui/filter.ui:404 data/ui/gate.ui:1371 data/ui/limiter.ui:834 #: data/ui/loudness.ui:234 data/ui/maximizer.ui:193 #: data/ui/multiband_compressor.ui:579 data/ui/multiband_gate.ui:579 #: data/ui/pipe_manager_box.ui:209 data/ui/pitch.ui:309 data/ui/reverb.ui:450 #: data/ui/rnnoise.ui:359 data/ui/speex.ui:274 data/ui/stereo_tools.ui:385 #: data/ui/stereo_tools.ui:713 msgid "Output" msgstr "" #: data/ui/autogain.ui:536 data/ui/bass_enhancer.ui:365 #: data/ui/bass_loudness.ui:213 data/ui/compressor.ui:1258 #: data/ui/convolver.ui:329 data/ui/crossfeed.ui:222 data/ui/crystalizer.ui:149 #: data/ui/deesser.ui:527 data/ui/delay.ui:334 data/ui/deepfilternet.ui:314 #: data/ui/echo_canceller.ui:215 data/ui/equalizer.ui:511 #: data/ui/exciter.ui:365 data/ui/expander.ui:1176 data/ui/filter.ui:423 #: data/ui/gate.ui:1390 data/ui/limiter.ui:853 data/ui/loudness.ui:253 #: data/ui/maximizer.ui:212 data/ui/multiband_compressor.ui:598 #: data/ui/multiband_gate.ui:598 data/ui/pitch.ui:328 data/ui/reverb.ui:469 #: data/ui/rnnoise.ui:378 data/ui/speex.ui:293 data/ui/stereo_tools.ui:732 msgid "Plugin Output Gain" msgstr "" #: data/ui/autoload_row.ui:16 data/ui/compressor.ui:684 data/ui/expander.ui:603 #: data/ui/gate.ui:817 data/ui/pipe_manager_box.ui:223 #: data/ui/pipe_manager_box.ui:341 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:26 msgid "Name" msgstr "" #: data/ui/autoload_row.ui:64 msgid "Profile" msgstr "" #: data/ui/autoload_row.ui:89 data/ui/pipe_manager_box.ui:234 #: data/ui/pipe_manager_box.ui:352 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:638 data/ui/deesser.ui:24 #: data/ui/exciter.ui:23 data/ui/expander.ui:557 data/ui/gate.ui:771 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:142 data/ui/bass_enhancer.ui:424 #: data/ui/exciter.ui:142 data/ui/exciter.ui:424 msgid "Harmonics" msgstr "" #: data/ui/bass_enhancer.ui:177 data/ui/exciter.ui:177 msgid "Scope" msgstr "" #: data/ui/bass_enhancer.ui:211 msgid "Floor" msgstr "" #: data/ui/bass_enhancer.ui:240 msgid "Floor Value" msgstr "" #: data/ui/bass_loudness.ui:71 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:283 #: 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:606 data/ui/compressor.ui:885 #: data/ui/deesser.ui:68 data/ui/equalizer.ui:62 data/ui/equalizer_band.ui:122 #: data/ui/expander.ui:63 data/ui/expander.ui:525 data/ui/expander.ui:803 #: data/ui/filter.ui:74 data/ui/gate.ui:739 data/ui/gate.ui:1017 #: data/ui/limiter.ui:56 data/ui/multiband_compressor_band.ui:544 #: data/ui/multiband_gate_band.ui:603 msgid "Mode" msgstr "" #: data/ui/compressor.ui:76 data/ui/expander.ui:76 #: data/ui/multiband_compressor_band.ui:101 msgid "Downward" msgstr "" #: data/ui/compressor.ui:77 data/ui/expander.ui:77 #: data/ui/multiband_compressor_band.ui:102 msgid "Upward" msgstr "" #: data/ui/compressor.ui:78 data/ui/multiband_compressor_band.ui:103 msgid "Boosting" msgstr "" #: data/ui/compressor.ui:87 data/ui/multiband_compressor_band.ui:88 msgid "Compression Mode" msgstr "" #: data/ui/compressor.ui:94 data/ui/multiband_compressor_band.ui:821 msgid "Boost Threshold" msgstr "" #: data/ui/compressor.ui:134 data/ui/multiband_compressor_band.ui:777 msgid "Boost Amount" msgstr "" #: data/ui/compressor.ui:181 data/ui/expander.ui:100 data/ui/gate.ui:70 #: data/ui/limiter.ui:284 data/ui/limiter.ui:507 #: data/ui/multiband_compressor_band.ui:190 data/ui/multiband_gate_band.ui:144 msgid "Attack" msgstr "" #: data/ui/compressor.ui:192 data/ui/expander.ui:111 #: data/ui/multiband_compressor_band.ui:170 msgid "Time" msgstr "" #: data/ui/compressor.ui:202 data/ui/deesser.ui:307 data/ui/expander.ui:121 #: data/ui/gate.ui:163 data/ui/gate.ui:257 data/ui/limiter.ui:368 #: data/ui/maximizer.ui:50 data/ui/multiband_compressor_band.ui:181 #: data/ui/multiband_gate_band.ui:237 data/ui/multiband_gate_band.ui:331 #: data/ui/rnnoise.ui:64 msgid "Threshold" msgstr "" #: data/ui/compressor.ui:228 data/ui/expander.ui:147 #: data/ui/multiband_compressor_band.ui:226 msgid "Attack Time" msgstr "" #: data/ui/compressor.ui:250 data/ui/expander.ui:169 data/ui/gate.ui:547 #: data/ui/multiband_compressor_band.ui:251 msgid "Attack Threshold" msgstr "" #: data/ui/compressor.ui:257 data/ui/expander.ui:176 data/ui/gate.ui:76 #: data/ui/limiter.ui:326 data/ui/limiter.ui:544 data/ui/maximizer.ui:27 #: data/ui/multiband_compressor_band.ui:199 data/ui/multiband_gate_band.ui:150 #: data/ui/rnnoise.ui:118 msgid "Release" msgstr "" #: data/ui/compressor.ui:283 data/ui/expander.ui:202 #: data/ui/multiband_compressor_band.ui:278 msgid "Release Time" msgstr "" #: data/ui/compressor.ui:307 data/ui/expander.ui:226 data/ui/gate.ui:601 #: data/ui/multiband_compressor_band.ui:306 msgid "Release Threshold" msgstr "" #: data/ui/compressor.ui:314 data/ui/deesser.ui:341 data/ui/expander.ui:233 #: data/ui/multiband_compressor_band.ui:313 msgid "Ratio" msgstr "" #: data/ui/compressor.ui:351 data/ui/expander.ui:270 data/ui/limiter.ui:580 #: data/ui/multiband_compressor_band.ui:351 msgid "Knee" msgstr "" #: data/ui/compressor.ui:386 data/ui/deesser.ui:376 data/ui/expander.ui:305 #: data/ui/gate.ui:438 data/ui/multiband_compressor_band.ui:389 #: data/ui/multiband_gate_band.ui:418 msgid "Makeup" msgstr "" #: data/ui/compressor.ui:421 data/ui/delay.ui:63 data/ui/delay.ui:153 #: data/ui/expander.ui:340 data/ui/gate.ui:352 #: data/ui/multiband_compressor.ui:174 data/ui/multiband_gate.ui:174 #: data/ui/reverb.ui:212 data/ui/stereo_tools.ui:538 msgid "Dry Level" msgstr "" #: data/ui/compressor.ui:456 data/ui/delay.ui:87 data/ui/delay.ui:177 #: data/ui/expander.ui:375 data/ui/gate.ui:357 #: data/ui/multiband_compressor.ui:208 data/ui/multiband_gate.ui:208 #: data/ui/reverb.ui:246 data/ui/rnnoise.ui:91 data/ui/stereo_tools.ui:574 msgid "Wet Level" msgstr "" #: data/ui/compressor.ui:498 data/ui/compressor.ui:519 #: data/ui/compressor.ui:1091 data/ui/expander.ui:417 data/ui/expander.ui:438 #: data/ui/expander.ui:1009 data/ui/gate.ui:631 data/ui/gate.ui:652 #: data/ui/gate.ui:1223 data/ui/multiband_compressor_band.ui:474 #: data/ui/multiband_gate_band.ui:533 msgid "Sidechain" msgstr "" #: data/ui/compressor.ui:530 data/ui/compressor.ui:536 data/ui/expander.ui:449 #: data/ui/expander.ui:455 data/ui/gate.ui:663 data/ui/gate.ui:669 #: 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:543 data/ui/expander.ui:462 data/ui/gate.ui:676 #: data/ui/multiband_compressor_band.ui:463 data/ui/multiband_gate_band.ui:522 msgid "Source" msgstr "" #: data/ui/compressor.ui:555 data/ui/expander.ui:474 data/ui/gate.ui:688 #: data/ui/multiband_compressor_band.ui:486 data/ui/multiband_gate_band.ui:545 msgid "Middle" msgstr "" #: data/ui/compressor.ui:556 data/ui/expander.ui:475 data/ui/gate.ui:689 #: data/ui/multiband_compressor_band.ui:487 data/ui/multiband_gate_band.ui:546 msgid "Side" msgstr "" #: data/ui/compressor.ui:557 data/ui/delay.ui:38 data/ui/equalizer.ui:219 #: data/ui/expander.ui:476 data/ui/gate.ui:690 data/ui/level_meter.ui:32 #: data/ui/multiband_compressor_band.ui:488 data/ui/multiband_gate_band.ui:547 #: data/ui/pipe_manager_box.ui:546 data/ui/stereo_tools.ui:165 msgid "Left" msgstr "" #: data/ui/compressor.ui:558 data/ui/delay.ui:128 data/ui/equalizer.ui:246 #: data/ui/expander.ui:477 data/ui/gate.ui:691 data/ui/level_meter.ui:42 #: data/ui/multiband_compressor_band.ui:489 data/ui/multiband_gate_band.ui:548 #: data/ui/pipe_manager_box.ui:557 data/ui/stereo_tools.ui:220 msgid "Right" msgstr "" #: data/ui/compressor.ui:559 data/ui/compressor.ui:582 data/ui/expander.ui:478 #: data/ui/expander.ui:501 data/ui/gate.ui:692 data/ui/gate.ui:715 #: data/ui/multiband_compressor_band.ui:490 #: data/ui/multiband_compressor_band.ui:525 data/ui/multiband_gate_band.ui:549 #: data/ui/multiband_gate_band.ui:584 msgid "Min" msgstr "" #: data/ui/compressor.ui:560 data/ui/compressor.ui:583 data/ui/expander.ui:479 #: data/ui/expander.ui:502 data/ui/gate.ui:693 data/ui/gate.ui:716 #: data/ui/multiband_compressor_band.ui:491 #: data/ui/multiband_compressor_band.ui:526 data/ui/multiband_gate_band.ui:550 #: data/ui/multiband_gate_band.ui:585 msgid "Max" msgstr "" #: data/ui/compressor.ui:569 data/ui/expander.ui:488 data/ui/gate.ui:702 #: data/ui/multiband_compressor.ui:77 data/ui/multiband_compressor_band.ui:500 #: data/ui/multiband_gate.ui:77 data/ui/multiband_gate_band.ui:559 msgid "Sidechain Source" msgstr "" #: data/ui/compressor.ui:578 data/ui/expander.ui:497 data/ui/gate.ui:711 #: data/ui/multiband_compressor_band.ui:521 data/ui/multiband_gate_band.ui:580 msgid "Left/Right" msgstr "" #: data/ui/compressor.ui:579 data/ui/expander.ui:498 data/ui/gate.ui:712 #: data/ui/multiband_compressor_band.ui:522 data/ui/multiband_gate_band.ui:581 msgid "Right/Left" msgstr "" #: data/ui/compressor.ui:580 data/ui/expander.ui:499 data/ui/gate.ui:713 #: data/ui/multiband_compressor_band.ui:523 data/ui/multiband_gate_band.ui:582 msgid "Mid/Side" msgstr "" #: data/ui/compressor.ui:581 data/ui/expander.ui:500 data/ui/gate.ui:714 #: data/ui/multiband_compressor_band.ui:524 data/ui/multiband_gate_band.ui:583 msgid "Side/Mid" msgstr "" #: data/ui/compressor.ui:592 data/ui/expander.ui:511 data/ui/gate.ui:725 #: data/ui/multiband_compressor_band.ui:535 data/ui/multiband_gate_band.ui:594 msgid "Stereo Split Source" msgstr "" #: data/ui/compressor.ui:618 data/ui/deesser.ui:50 data/ui/expander.ui:537 #: data/ui/gate.ui:751 data/ui/multiband_compressor_band.ui:559 #: data/ui/multiband_gate_band.ui:618 msgid "Peak" msgstr "" #: data/ui/compressor.ui:619 data/ui/deesser.ui:49 data/ui/expander.ui:538 #: data/ui/gate.ui:752 data/ui/multiband_compressor_band.ui:560 #: data/ui/multiband_gate_band.ui:619 msgid "RMS" msgstr "" #: data/ui/compressor.ui:620 data/ui/expander.ui:539 data/ui/gate.ui:753 #: data/ui/multiband_compressor_band.ui:561 data/ui/multiband_gate_band.ui:620 msgid "Low-Pass Filter" msgstr "" #: data/ui/compressor.ui:621 data/ui/expander.ui:540 data/ui/gate.ui:754 #: data/ui/multiband_compressor_band.ui:562 data/ui/multiband_gate_band.ui:621 msgid "Simple Moving Average" msgstr "" #: data/ui/compressor.ui:630 data/ui/expander.ui:549 data/ui/gate.ui:763 #: data/ui/multiband_compressor_band.ui:571 data/ui/multiband_gate_band.ui:630 msgid "Sidechain Mode" msgstr "" #: data/ui/compressor.ui:644 data/ui/expander.ui:563 data/ui/gate.ui:777 msgid "Listen Sidechain" msgstr "" #: data/ui/compressor.ui:673 data/ui/equalizer_band.ui:96 #: data/ui/expander.ui:592 data/ui/filter.ui:42 data/ui/gate.ui:806 msgid "Type" msgstr "" #: data/ui/compressor.ui:699 msgid "Feed-forward" msgstr "" #: data/ui/compressor.ui:700 msgid "Feed-back" msgstr "" #: data/ui/compressor.ui:701 data/ui/expander.ui:619 data/ui/gate.ui:833 msgid "External" msgstr "" #: data/ui/compressor.ui:710 data/ui/expander.ui:628 data/ui/gate.ui:842 msgid "Sidechain Type" msgstr "" #: data/ui/compressor.ui:738 data/ui/expander.ui:656 data/ui/gate.ui:870 #: src/plugins_box.cpp:772 msgid "Input Device" msgstr "" #: data/ui/compressor.ui:745 data/ui/expander.ui:663 data/ui/gate.ui:877 msgid "PreAmplification" msgstr "" #: data/ui/compressor.ui:782 data/ui/expander.ui:700 data/ui/gate.ui:914 #: data/ui/multiband_compressor_band.ui:710 data/ui/multiband_gate_band.ui:768 msgid "Reactivity" msgstr "" #: data/ui/compressor.ui:819 data/ui/expander.ui:737 data/ui/gate.ui:951 #: data/ui/limiter.ui:242 data/ui/multiband_compressor_band.ui:744 #: data/ui/multiband_gate_band.ui:801 msgid "Lookahead" msgstr "" #: data/ui/compressor.ui:862 data/ui/expander.ui:780 data/ui/gate.ui:994 msgid "Sidechain Filters" msgstr "" #: data/ui/compressor.ui:872 data/ui/expander.ui:790 data/ui/filter.ui:51 #: data/ui/gate.ui:1004 msgid "High-Pass" msgstr "" #: data/ui/compressor.ui:898 data/ui/equalizer_band.ui:192 #: data/ui/expander.ui:816 data/ui/filter.ui:166 data/ui/gate.ui:1030 #: data/ui/pipe_manager_box.ui:603 msgid "Frequency" msgstr "" #: data/ui/compressor.ui:913 data/ui/compressor.ui:973 data/ui/expander.ui:831 #: data/ui/expander.ui:891 data/ui/gate.ui:1045 data/ui/gate.ui:1105 msgid "Off" msgstr "" #: data/ui/compressor.ui:914 data/ui/compressor.ui:974 data/ui/expander.ui:832 #: data/ui/expander.ui:892 data/ui/gate.ui:1046 data/ui/gate.ui:1106 msgid "12 dB/oct" msgstr "" #: data/ui/compressor.ui:915 data/ui/compressor.ui:975 data/ui/expander.ui:833 #: data/ui/expander.ui:893 data/ui/gate.ui:1047 data/ui/gate.ui:1107 msgid "24 dB/oct" msgstr "" #: data/ui/compressor.ui:916 data/ui/compressor.ui:976 data/ui/expander.ui:834 #: data/ui/expander.ui:894 data/ui/gate.ui:1048 data/ui/gate.ui:1108 msgid "36 dB/oct" msgstr "" #: data/ui/compressor.ui:925 data/ui/expander.ui:843 data/ui/gate.ui:1057 msgid "High-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:951 data/ui/compressor.ui:1011 data/ui/expander.ui:869 #: data/ui/expander.ui:929 data/ui/gate.ui:1083 data/ui/gate.ui:1143 msgid "High-Pass Filter Frequency" msgstr "" #: data/ui/compressor.ui:958 data/ui/expander.ui:876 data/ui/filter.ui:50 #: data/ui/gate.ui:1090 msgid "Low-Pass" msgstr "" #: data/ui/compressor.ui:985 data/ui/expander.ui:903 data/ui/gate.ui:1117 msgid "Low-Pass Filter Mode" msgstr "" #: data/ui/compressor.ui:1037 data/ui/equalizer_band.ui:224 #: data/ui/expander.ui:955 data/ui/filter.ui:220 msgid "Gain" msgstr "" #: data/ui/compressor.ui:1064 data/ui/expander.ui:982 data/ui/gate.ui:1196 msgid "Envelope" msgstr "" #: data/ui/compressor.ui:1118 data/ui/expander.ui:1036 data/ui/gate.ui:147 #: data/ui/gate.ui:1250 data/ui/multiband_gate_band.ui:221 msgid "Curve" msgstr "" #: data/ui/convolver.ui:40 msgid "L" msgstr "" #: data/ui/convolver.ui:43 data/ui/pipe_manager_box.ui:549 msgid "Left Channel" msgstr "" #: data/ui/convolver.ui:53 msgid "R" msgstr "" #: data/ui/convolver.ui:56 data/ui/pipe_manager_box.ui:560 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:114 src/plugin_base.cpp:232 msgid "Spectrum" msgstr "" #: data/ui/convolver.ui:122 msgid "Log Scale" msgstr "" #: data/ui/convolver.ui:132 src/tags_plugin_name.cpp:38 msgid "Autogain" msgstr "" #: data/ui/convolver.ui:148 msgid "Rate" msgstr "" #: data/ui/convolver.ui:169 msgid "Samples" msgstr "" #: data/ui/convolver.ui:190 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:66 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:79 msgid "Feed" msgstr "" #: data/ui/crystalizer_band.ui:11 msgid "Bypass" msgstr "" #: data/ui/crystalizer_band.ui:17 data/ui/equalizer_band.ui:174 #: data/ui/multiband_compressor_band.ui:140 data/ui/multiband_gate_band.ui:109 #: data/ui/stereo_tools.ui:175 data/ui/stereo_tools.ui:200 msgid "Mute" 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:116 msgid "Frequency 1 Split" msgstr "" #: data/ui/deesser.ui:129 msgid "F2 Peak" msgstr "" #: data/ui/deesser.ui:149 msgid "Frequency 2 Peak" msgstr "" #: data/ui/deesser.ui:167 msgid "F1 Gain" msgstr "" #: data/ui/deesser.ui:195 msgid "Frequency 1 Gain" msgstr "" #: data/ui/deesser.ui:202 msgid "F2 Level" msgstr "" #: data/ui/deesser.ui:230 msgid "Frequency 2 Level" msgstr "" #: data/ui/deesser.ui:237 msgid "F2 Peak Q" msgstr "" #: data/ui/deesser.ui:265 msgid "Frequency 2 Peak Q" msgstr "" #: data/ui/deesser.ui:272 msgid "Laxity" msgstr "" #: data/ui/deesser.ui:586 msgid "Detected" msgstr "" #: data/ui/deesser.ui:616 data/ui/gate.ui:433 data/ui/gate.ui:1169 #: data/ui/maximizer.ui:271 data/ui/multiband_gate_band.ui:413 msgid "Reduction" msgstr "" #: data/ui/delay.ui:41 data/ui/delay.ui:131 src/tags_plugin_name.cpp:47 msgid "Delay" msgstr "" #: data/ui/delay.ui:110 data/ui/delay.ui:200 data/ui/stereo_tools.ui:184 #: data/ui/stereo_tools.ui:209 msgid "Invert Phase" msgstr "" #: data/ui/deepfilternet.ui:31 msgid "Attenuation Limit" msgstr "" #: data/ui/deepfilternet.ui:60 msgid "Minimum Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:87 msgid "Maximum ERB Processing threshold" msgstr "" #: data/ui/deepfilternet.ui:114 msgid "Maximum DF Processing Threshold" msgstr "" #: data/ui/deepfilternet.ui:141 msgid "Minimum Processing Buffer" msgstr "" #: data/ui/deepfilternet.ui:167 msgid "Post Filter Beta" msgstr "" #: data/ui/echo_canceller.ui:27 msgid "Filter Length" msgstr "" #: data/ui/echo_canceller.ui:50 msgid "Residual Echo Suppression" msgstr "" #: data/ui/echo_canceller.ui:72 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:94 data/ui/filter.ui:274 data/ui/stereo_tools.ui:52 #: data/ui/stereo_tools.ui:397 msgid "Balance" msgstr "" #: data/ui/equalizer.ui:127 msgid "Pitch Left" msgstr "" #: data/ui/equalizer.ui:160 msgid "Pitch Right" msgstr "" #: data/ui/equalizer.ui:292 msgid "Split Channels" msgstr "" #: data/ui/equalizer.ui:298 msgid "Flat Response" msgstr "" #: data/ui/equalizer.ui:306 msgid "Calculate Frequencies" msgstr "" #: data/ui/equalizer.ui:314 msgid "Sort Bands" msgstr "" #: data/ui/equalizer.ui:329 src/presets_menu.cpp:105 msgid "Import Preset" msgstr "" #: data/ui/equalizer.ui:363 msgid "Export Preset" msgstr "" #: data/ui/equalizer_band.ui:143 data/ui/filter.ui:127 msgid "Slope" msgstr "" #: data/ui/equalizer_band.ui:161 data/ui/multiband_compressor_band.ui:150 #: data/ui/multiband_gate_band.ui:119 msgid "Solo" msgstr "" #: data/ui/equalizer_band.ui:260 data/ui/filter.ui:247 data/ui/pitch.ui:28 msgid "Quality" msgstr "" #: data/ui/equalizer_band.ui:291 data/ui/filter.ui:193 msgid "Width" msgstr "" #: data/ui/exciter.ui:211 msgid "Ceil" msgstr "" #: data/ui/exciter.ui:240 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:618 data/ui/gate.ui:832 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:578 #: data/ui/multiband_gate_band.ui:637 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:169 data/ui/gate.ui:262 data/ui/multiband_gate_band.ui:243 #: data/ui/multiband_gate_band.ui:336 msgid "Zone" msgstr "" #: data/ui/gate.ui:241 data/ui/multiband_gate_band.ui:315 msgid "Hysteresis" msgstr "" #: data/ui/gate.ui:336 msgid "Mix" msgstr "" #: data/ui/gate.ui:520 msgid "Attack Zone Start" msgstr "" #: data/ui/gate.ui:574 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:230 data/ui/multiband_compressor_band.ui:703 #: data/ui/multiband_gate_band.ui:761 msgid "Sidechain PreAmplification" msgstr "" #: data/ui/limiter.ui:405 msgid "Boost" msgstr "" #: data/ui/limiter.ui:420 msgid "Stereo Link" msgstr "" #: data/ui/limiter.ui:465 data/ui/multiband_compressor_band.ui:120 #: data/ui/multiband_gate_band.ui:89 msgid "External Sidechain" msgstr "" #: data/ui/limiter.ui:478 data/ui/multiband_compressor.ui:97 #: data/ui/multiband_gate.ui:97 msgid "External Sidechain Source" msgstr "" #: data/ui/limiter.ui:497 msgid "Auto Leveling" msgstr "" #: data/ui/limiter.ui:537 msgid "Auto Leveling Attack" msgstr "" #: data/ui/limiter.ui:573 msgid "Auto Leveling Release" msgstr "" #: data/ui/limiter.ui:608 msgid "Auto Leveling Knee" msgstr "" #: data/ui/limiter.ui:633 msgid "Gain Left" msgstr "" #: data/ui/limiter.ui:660 msgid "Gain Right" msgstr "" #: data/ui/limiter.ui:687 msgid "Sidechain Left" msgstr "" #: data/ui/limiter.ui:714 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:104 msgid "Clipping" msgstr "" #: data/ui/maximizer.ui:71 msgid "Ceiling" 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:268 data/ui/multiband_gate.ui:268 msgid "Bands List" msgstr "" #: data/ui/multiband_compressor.ui:277 data/ui/multiband_gate.ui:277 msgid "Band 1" msgstr "" #: data/ui/multiband_compressor.ui:294 data/ui/multiband_gate.ui:294 msgid "Band 2" msgstr "" #: data/ui/multiband_compressor.ui:320 data/ui/multiband_gate.ui:320 msgid "Band 3" msgstr "" #: data/ui/multiband_compressor.ui:346 data/ui/multiband_gate.ui:346 msgid "Band 4" msgstr "" #: data/ui/multiband_compressor.ui:372 data/ui/multiband_gate.ui:372 msgid "Band 5" msgstr "" #: data/ui/multiband_compressor.ui:398 data/ui/multiband_gate.ui:398 msgid "Band 6" msgstr "" #: data/ui/multiband_compressor.ui:424 data/ui/multiband_gate.ui:424 msgid "Band 7" msgstr "" #: data/ui/multiband_compressor.ui:450 data/ui/multiband_gate.ui:450 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:57 data/ui/multiband_gate_band.ui:57 msgid "Band End" msgstr "" #: data/ui/multiband_compressor_band.ui:112 msgid "Band Compression Mode" msgstr "" #: data/ui/multiband_compressor_band.ui:130 data/ui/multiband_gate_band.ui:99 msgid "Band Bypass" msgstr "" #: data/ui/multiband_compressor_band.ui:435 data/ui/multiband_gate_band.ui:494 msgid "Band Sidechain Options" msgstr "" #: data/ui/multiband_compressor_band.ui:508 data/ui/multiband_gate_band.ui:567 msgid "Stereo Split" msgstr "" #: data/ui/multiband_compressor_band.ui:590 data/ui/multiband_gate_band.ui:649 msgid "Low-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:618 data/ui/multiband_gate_band.ui:677 msgid "Low-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:628 data/ui/multiband_gate_band.ui:687 msgid "High-Cut" msgstr "" #: data/ui/multiband_compressor_band.ui:657 data/ui/multiband_gate_band.ui:716 msgid "High-Cut Filter Frequency" msgstr "" #: data/ui/multiband_compressor_band.ui:676 data/ui/multiband_gate_band.ui:735 msgid "PreAmp" msgstr "" #: data/ui/multiband_compressor_band.ui:882 msgid "Band Gain" msgstr "" #: data/ui/multiband_compressor_band.ui:907 data/ui/multiband_gate_band.ui:875 msgid "Band Envelope" msgstr "" #: data/ui/multiband_compressor_band.ui:932 data/ui/multiband_gate_band.ui:900 msgid "Band Curve" msgstr "" #: data/ui/multiband_gate_band.ui:850 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:254 msgid "Output Devices" msgstr "" #: data/ui/pipe_manager_box.ui:271 src/application.cpp:289 msgid "Output Presets" msgstr "" #: data/ui/pipe_manager_box.ui:278 data/ui/pipe_manager_box.ui:391 msgid "Create Association" msgstr "" #: data/ui/pipe_manager_box.ui:291 msgid "Add Autoloading Output Preset" msgstr "" #: data/ui/pipe_manager_box.ui:311 msgid "Output Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:372 msgid "Input Devices" msgstr "" #: data/ui/pipe_manager_box.ui:384 src/application.cpp:297 msgid "Input Presets" msgstr "" #: data/ui/pipe_manager_box.ui:404 msgid "Add Autoloading Input Preset" msgstr "" #: data/ui/pipe_manager_box.ui:423 msgid "Input Autoloading Presets List" msgstr "" #: data/ui/pipe_manager_box.ui:453 msgid "Modules" msgstr "" #: data/ui/pipe_manager_box.ui:471 msgid "Modules List" msgstr "" #: data/ui/pipe_manager_box.ui:485 msgid "Clients" msgstr "" #: data/ui/pipe_manager_box.ui:503 msgid "Clients List" msgstr "" #: data/ui/pipe_manager_box.ui:517 msgid "Test Signal" msgstr "" #: data/ui/pipe_manager_box.ui:522 data/ui/preferences_spectrum.ui:9 #: data/ui/speex.ui:29 msgid "State" msgstr "" #: data/ui/pipe_manager_box.ui:525 data/ui/preferences_spectrum.ui:12 msgid "Enabled" msgstr "" #: data/ui/pipe_manager_box.ui:540 msgid "Properties" msgstr "" #: data/ui/pipe_manager_box.ui:543 msgid "Channels" msgstr "" #: data/ui/pipe_manager_box.ui:568 msgid "Both" msgstr "" #: data/ui/pipe_manager_box.ui:572 msgid "Both Channels" msgstr "" #: data/ui/pipe_manager_box.ui:581 msgid "Waveform" msgstr "" #: data/ui/pipe_manager_box.ui:585 msgid "Sine Wave" msgstr "" #: data/ui/pipe_manager_box.ui:594 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:81 msgid "Seek Window" msgstr "" #: data/ui/pitch.ui:104 msgid "Overlap Length" msgstr "" #: data/ui/pitch.ui:133 src/tags_plugin_name.cpp:60 msgid "Pitch" msgstr "" #: data/ui/pitch.ui:137 msgid "Semitones" msgstr "" #: data/ui/pitch.ui:160 msgid "Tempo Difference" msgstr "" #: data/ui/pitch.ui:183 msgid "Rate Difference" msgstr "" #: data/ui/plugin_row.ui:39 msgid "Remove this effect" msgstr "" #: data/ui/plugin_row.ui:51 msgid "Enable/disable this effect" msgstr "" #: data/ui/plugin_row.ui:63 msgid "Change the position of this effect" msgstr "" #: data/ui/plugins_box.ui:19 msgid "Add Effect" msgstr "" #: data/ui/plugins_box.ui:68 msgid "Used Plugins List" msgstr "" #: data/ui/plugins_box.ui:129 msgid "No Effects" msgstr "" #: data/ui/plugins_box.ui:130 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:120 msgid "Update Interval (Level Meters and Spectrum)" msgstr "" #: data/ui/preferences_general.ui:143 msgid "Update Frequency (LV2 Plugins)" msgstr "" #: data/ui/preferences_general.ui:168 data/ui/preferences_spectrum.ui:26 msgid "Style" msgstr "" #: data/ui/preferences_general.ui:171 msgid "Use Dark Theme" msgstr "" #: data/ui/preferences_general.ui:183 msgid "Hide Menus on Outside Clicks" msgstr "" #: data/ui/preferences_general.ui:197 msgid "Experimental Features" msgstr "" #: data/ui/preferences_general.ui:200 msgid "Native Plugin Window" msgstr "" #: data/ui/preferences_general.ui:201 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:72 msgid "Height" msgstr "" #: data/ui/preferences_spectrum.ui:95 msgid "Line Width" msgstr "" #: data/ui/preferences_spectrum.ui:118 msgid "Fill" msgstr "" #: data/ui/preferences_spectrum.ui:130 msgid "Show Bars Border" msgstr "" #: data/ui/preferences_spectrum.ui:142 msgid "Rounded Corners" msgstr "" #: data/ui/preferences_spectrum.ui:154 msgid "Dynamic Scale" msgstr "" #: data/ui/preferences_spectrum.ui:168 msgid "Color" msgstr "" #: data/ui/preferences_spectrum.ui:171 msgid "Lines and Bars" msgstr "" #: data/ui/preferences_spectrum.ui:189 msgid "Axis Labels" msgstr "" #: data/ui/preferences_spectrum.ui:209 msgid "Frequency Range" msgstr "" #: data/ui/preferences_spectrum.ui:212 msgid "Minimum" msgstr "" #: data/ui/preferences_spectrum.ui:235 msgid "Maximum" msgstr "" #: data/ui/preset_row.ui:37 src/convolver_menu_impulses.cpp:223 msgid "Load" msgstr "" #: data/ui/preset_row.ui:38 msgid "Discard the current settings and load this preset" msgstr "" #: data/ui/preset_row.ui:47 msgid "Save current settings to this preset file" msgstr "" #: data/ui/preset_row.ui:57 msgid "Remove this preset file" msgstr "" #: data/ui/presets_menu.ui:30 msgid "New Preset Name" msgstr "" #: data/ui/presets_menu.ui:38 msgid "Create a new preset" msgstr "" #: data/ui/presets_menu.ui:52 msgid "Import a preset" msgstr "" #: data/ui/presets_menu.ui:68 msgid "Search Preset" msgstr "" #: data/ui/presets_menu.ui:129 msgid "Presets List" msgstr "" #: data/ui/reverb.ui:41 msgid "High Frequency Damping" msgstr "" #: data/ui/reverb.ui:73 msgid "Room Size" msgstr "" #: data/ui/reverb.ui:83 msgid "Small" msgstr "" #: data/ui/reverb.ui:84 msgid "Medium" msgstr "" #: data/ui/reverb.ui:85 msgid "Large" msgstr "" #: data/ui/reverb.ui:86 msgid "Tunnel" msgstr "" #: data/ui/reverb.ui:87 msgid "Large/smooth" msgstr "" #: data/ui/reverb.ui:88 msgid "Experimental" msgstr "" #: data/ui/reverb.ui:107 msgid "Diffusion" msgstr "" #: data/ui/reverb.ui:144 msgid "Pre Delay" msgstr "" #: data/ui/reverb.ui:177 msgid "Decay Time" msgstr "" #: data/ui/reverb.ui:281 msgid "Bass Cut" msgstr "" #: data/ui/reverb.ui:316 msgid "Treble Cut" msgstr "" #: data/ui/reverb.ui:576 msgid "Ambience" msgstr "" #: data/ui/reverb.ui:583 msgid "Empty Walls" msgstr "" #: data/ui/reverb.ui:596 msgid "Room" msgstr "" #: data/ui/reverb.ui:603 msgid "Large Empty Hall" msgstr "" #: data/ui/reverb.ui:616 msgid "Disco" msgstr "" #: data/ui/reverb.ui:623 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:154 msgid "Models" msgstr "" #. If this changes, it has to be updated in src/rnnoise_ui.cpp as default_model_name #: data/ui/rnnoise.ui:179 src/rnnoise_ui.cpp:121 src/rnnoise_ui.cpp:302 #: src/rnnoise_ui.cpp:336 msgid "Standard Model" msgstr "" #: data/ui/rnnoise.ui:206 msgid "RNNoise Models List" msgstr "" #: data/ui/rnnoise.ui:230 msgid "Model Not Loaded" msgstr "" #: data/ui/rnnoise.ui:236 msgid "Active Model" msgstr "" #: data/ui/rnnoise.ui:244 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:118 msgid "Continue" msgstr "" #: data/ui/speex.ui:143 msgid "Noise Suppression" msgstr "" #: data/ui/speex.ui:147 msgid "Level" msgstr "" #: data/ui/stereo_tools.ui:79 msgid "Input Balance" msgstr "" #: data/ui/stereo_tools.ui:88 msgid "Softclip" msgstr "" #: data/ui/stereo_tools.ui:116 msgid "Softclip Level" msgstr "" #: data/ui/stereo_tools.ui:128 msgid "Stereo Matrix" msgstr "" #: data/ui/stereo_tools.ui:140 msgid "LR > LR (Stereo Default)" msgstr "" #: data/ui/stereo_tools.ui:141 msgid "LR > MS (Stereo to Mid-Side)" msgstr "" #: data/ui/stereo_tools.ui:142 msgid "MS > LR (Mid-Side to Stereo)" msgstr "" #: data/ui/stereo_tools.ui:143 msgid "LR > LL (Mono Left Channel)" msgstr "" #: data/ui/stereo_tools.ui:144 msgid "LR > RR (Mono Right Channel)" msgstr "" #: data/ui/stereo_tools.ui:145 msgid "LR > L+R (Mono Sum L+R)" msgstr "" #: data/ui/stereo_tools.ui:146 msgid "LR > RL (Stereo Flip Channels)" msgstr "" #: data/ui/stereo_tools.ui:151 msgid "Stereo Mode" msgstr "" #: data/ui/stereo_tools.ui:236 msgid "Side Level" msgstr "" #: data/ui/stereo_tools.ui:272 msgid "Side Balance" msgstr "" #: data/ui/stereo_tools.ui:308 msgid "Middle Level" msgstr "" #: data/ui/stereo_tools.ui:344 msgid "Middle Panorama" msgstr "" #: data/ui/stereo_tools.ui:424 msgid "Output Balance" msgstr "" #: data/ui/stereo_tools.ui:433 msgid "Delay L/R" msgstr "" #: data/ui/stereo_tools.ui:460 msgid "Delay Left Right" msgstr "" #: data/ui/stereo_tools.ui:469 msgid "Stereo Base" msgstr "" #: data/ui/stereo_tools.ui:505 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:506 msgid "Weblate https://hosted.weblate.org/projects/easyeffects/" msgstr "" #: src/application.cpp:596 msgid "Quit Easy Effects. Useful when running in service mode." msgstr "" #: src/application.cpp:599 msgid "Print the easyeffects version" msgstr "" #: src/application.cpp:602 msgid "Reset Easy Effects." msgstr "" #: src/application.cpp:605 msgid "Hide the Window." msgstr "" #: src/application.cpp:608 msgid "Global bypass. 1 to enable, 2 to disable and 3 to get status" msgstr "" #: src/application.cpp:611 msgid "Show available presets." msgstr "" #: src/application.cpp:614 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:123 msgid "The File Is Not Regular" msgstr "" #: src/convolver_menu_impulses.cpp:128 msgid "The Impulse File May Be Corrupted or Unsupported" msgstr "" #: src/convolver_menu_impulses.cpp:133 msgid "Only Stereo Impulse Files Are Supported" msgstr "" #: src/convolver_menu_impulses.cpp:143 msgid "Impulse File Not Imported" msgstr "" #: src/convolver_menu_impulses.cpp:151 msgid "Import Impulse File" msgstr "" #: src/convolver_menu_impulses.cpp:152 src/equalizer_ui.cpp:454 #: src/equalizer_ui.cpp:735 src/presets_menu.cpp:106 src/rnnoise_ui.cpp:160 msgid "Open" msgstr "" #: src/convolver_menu_impulses.cpp:164 msgid "Impulse Response" msgstr "" #: src/convolver_menu_impulses.cpp:285 msgid "Load Impulse" msgstr "" #: src/convolver_menu_impulses.cpp:288 msgid "Remove Impulse" msgstr "" #: src/convolver_ui.cpp:368 msgid "No Impulse File Loaded" msgstr "" #: src/convolver_ui.cpp:394 msgid "Failed To Load The Impulse File" msgstr "" #: src/effects_box.cpp:306 src/plugins_box.cpp:773 msgid "Recorders" msgstr "" #: src/effects_box.cpp:329 src/plugins_box.cpp:793 msgid "Players" msgstr "" #: src/effects_box.cpp:352 msgid "Effects" msgstr "" #: src/equalizer_ui.cpp:453 msgid "Import APO Preset File" msgstr "" #: src/equalizer_ui.cpp:461 msgid "APO Presets" msgstr "" #: src/equalizer_ui.cpp:486 msgid "" "APO Preset Not Loaded. File Format May Be Not Supported. Please Check Its " "Content." msgstr "" #: src/equalizer_ui.cpp:541 msgid "Split channels not yet supported when exporting APO presets." msgstr "" #: src/equalizer_ui.cpp:549 msgid "Export EqualizerAPO Preset File" msgstr "" #: src/equalizer_ui.cpp:550 msgid "Save" msgstr "" #: src/equalizer_ui.cpp:557 msgid "EqualizerAPO Presets" msgstr "" #: src/equalizer_ui.cpp:734 msgid "Import GraphicEQ Preset File" msgstr "" #: src/equalizer_ui.cpp:742 msgid "GraphicEQ Presets" msgstr "" #: src/equalizer_ui.cpp:767 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:230 msgid "Output Level Meter" msgstr "" #: src/plugins_box.cpp:725 msgid "Remove" msgstr "" #: src/plugins_box.cpp:794 msgid "Output Device" msgstr "" #: src/plugins_menu.cpp:238 msgid "Add" msgstr "" #: src/presets_menu.cpp:231 msgid "Save?" msgstr "" #: src/presets_menu.cpp:250 msgid "Delete?" msgstr "" #: src/presets_manager.cpp:834 src/presets_manager.cpp:841 #: src/presets_manager.cpp:850 src/presets_manager.cpp:857 #: src/presets_manager.cpp:866 src/presets_manager.cpp:874 msgid "Preset Not Loaded Correctly" msgstr "" #: src/presets_manager.cpp:834 msgid "Wrong Format in Excluded Apps List" msgstr "" #: src/presets_manager.cpp:841 msgid "Generic Error While Loading Excluded Apps List" msgstr "" #: src/presets_manager.cpp:850 msgid "Wrong Format in Effects List" msgstr "" #: src/presets_manager.cpp:857 msgid "Generic Error While Loading Effects List" msgstr "" #: src/presets_manager.cpp:867 msgid "One or More Parameters Have a Wrong Format" msgstr "" #: src/presets_manager.cpp:875 msgid "Generic Error While Loading The Effect" 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:166 msgid "-inf" msgstr "" #. For translators: {} is replaced by the library used by the plugin. I.e. "Using Calf Studio". #: src/ui_helpers.cpp:251 #, c++-format msgid "Using {}" msgstr "" easyeffects-7.1.6/src/000077500000000000000000000000001460155372000146205ustar00rootroot00000000000000easyeffects-7.1.6/src/app_info.cpp000066400000000000000000000346151460155372000171300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/application.cpp000066400000000000000000000527671460155372000176500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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("device " + device.name + " has changed its input route to: " + device.input_route_name); NodeInfo 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 = node; break; } } } if (target_node.id != SPA_ID_INVALID) { auto name = util::gsettings_get_string(self->sie_settings, "input-device"); if (target_node.name == name) { self->presets_manager->autoload(PresetType::input, target_node.name, device.input_route_name); } else { util::debug("input autoloading: the target node name does not match the input device name"); } } else { util::debug("input autoloading: could not find the target node"); } })); 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("device " + device.name + " has changed its output route to: " + device.output_route_name); NodeInfo 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 = node; break; } } } if (target_node.serial != SPA_ID_INVALID) { auto name = util::gsettings_get_string(self->soe_settings, "output-device"); if (target_node.name == name) { self->presets_manager->autoload(PresetType::output, target_node.name, device.output_route_name); } else { util::debug("output autoloading: the target node name does not match the output device name"); } } else { util::debug("output autoloading: could not find the target node"); } })); 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_names(PresetType::output)) { list += name + ","; } std::cout << _("Output Presets") + ": "s + list << '\n'; list = ""; for (const auto& name : self->presets_manager->get_names(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)) { if (self->presets_manager->load_preset_file(PresetType::input, name)) { g_settings_set_string(self->settings, "last-used-input-preset", name); } else { g_settings_reset(self->settings, "last-used-input-preset"); } return EXIT_SUCCESS; } if (self->presets_manager->preset_file_exists(PresetType::output, name)) { if (self->presets_manager->load_preset_file(PresetType::output, name)) { g_settings_set_string(self->settings, "last-used-output-preset", name); } else { g_settings_reset(self->settings, "last-used-output-preset"); } 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.6/src/application_ui.cpp000066400000000000000000000305441460155372000203320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/apps_box.cpp000066400000000000000000000355101460155372000171430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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)) == 0) ? 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.6/src/autogain.cpp000066400000000000000000000261111460155372000171340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::autogain, tags::plugin_package::ebur128, schema, schema_path, pipe_manager), 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 == 0 || rate == 0) { 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.6/src/autogain_preset.cpp000066400000000000000000000055001460155372000205150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/autogain_ui.cpp000066400000000000000000000254761460155372000176460ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/bass_enhancer.cpp000066400000000000000000000070751460155372000201300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::bass_enhancer, tags::plugin_package::calf, schema, schema_path, pipe_manager) { 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.6/src/bass_enhancer_preset.cpp000066400000000000000000000061701460155372000215050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/bass_enhancer_ui.cpp000066400000000000000000000203121460155372000206120ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/bass_loudness.cpp000066400000000000000000000060271460155372000201750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::bass_loudness, tags::plugin_package::mda, schema, schema_path, pipe_manager) { 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.6/src/bass_loudness_preset.cpp000066400000000000000000000051141460155372000215530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/bass_loudness_ui.cpp000066400000000000000000000147771460155372000207050ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/blocklist_menu.cpp000066400000000000000000000210011460155372000203300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/chart.cpp000066400000000000000000000503501460155372000164300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 { using namespace std::string_literals; 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.6/src/client_info_holder.cpp000066400000000000000000000077441460155372000211660ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/compressor.cpp000066400000000000000000000174201460155372000175240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::compressor, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/compressor_preset.cpp000066400000000000000000000154751460155372000211160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/compressor_ui.cpp000066400000000000000000000462031460155372000202220ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/convolver.cpp000066400000000000000000000332301460155372000173420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 "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) : PluginBase(tag, tags::plugin_name::convolver, tags::plugin_package::zita, schema, schema_path, pipe_manager), do_autogain(g_settings_get_boolean(settings, "autogain") != 0), ir_width(g_settings_get_int(settings, "ir-width")) { 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-path", 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(); } } } void Convolver::read_kernel_file() { kernel_is_initialized = false; const auto path = util::gsettings_get_string(settings, "kernel-path"); if (path.empty()) { util::warning(log_tag + name + ": irs file path is null. Entering passthrough mode..."); return; } // 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 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.6/src/convolver_menu_combine.cpp000066400000000000000000000236501460155372000220670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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)) == 0 || g_list_model_get_n_items(G_LIST_MODEL(self->string_list_2)) == 0) { 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 = gtk_editable_get_text(GTK_EDITABLE(self->output_kernel_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.6/src/convolver_menu_impulses.cpp000066400000000000000000000326661460155372000223230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; 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(SYSTEM_IRS_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, "*.irs"); 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) { 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 irs_file = irs_dir / std::filesystem::path{name}; irs_file += irs_ext; g_settings_set_string(self->settings, "kernel-path", irs_file.c_str()); } }), 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) { self->application = application; 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.6/src/convolver_preset.cpp000066400000000000000000000051451460155372000207300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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-path"] = util::gsettings_get_string(settings, "kernel-path"); 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, "kernel-path", "kernel-path"); update_key(json.at(section).at(instance_name), settings, "ir-width", "ir-width"); update_key(json.at(section).at(instance_name), settings, "autogain", "autogain"); } easyeffects-7.1.6/src/convolver_ui.cpp000066400000000000000000000607361460155372000200520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) { const std::string path = util::gsettings_get_string(self->settings, "kernel-path"); if (path.empty()) { util::warning(": irs file path is null."); // 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); 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-path", 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(); // irs dir if (!std::filesystem::is_directory(irs_dir)) { if (std::filesystem::create_directories(irs_dir)) { util::debug("irs directory created: " + irs_dir.string()); } else { util::warning("failed to create irs directory: " + irs_dir.string()); } } else { util::debug("irs directory already exists: " + irs_dir.string()); } 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.6/src/convolver_ui_common.cpp000066400000000000000000000044321460155372000214110ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/crossfeed.cpp000066400000000000000000000076541460155372000173150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::crossfeed, tags::plugin_package::bs2b, schema, schema_path, pipe_manager) { 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.6/src/crossfeed_preset.cpp000066400000000000000000000045461460155372000206740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/crossfeed_ui.cpp000066400000000000000000000161051460155372000200010ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/crystalizer.cpp000066400000000000000000000236451460155372000177110ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::crystalizer, tags::plugin_package::ee, schema, schema_path, pipe_manager) { 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 - 1)) == 0 && n_samples != 0; if (!n_samples_is_power_of_2) { while ((blocksize & (blocksize - 1)) != 0 && blocksize > 2) { 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.6/src/crystalizer_preset.cpp000066400000000000000000000056101460155372000212630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/crystalizer_ui.cpp000066400000000000000000000204651460155372000204030ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/deepfilternet.cpp000066400000000000000000000162411460155372000201620ustar00rootroot00000000000000/* * 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) : PluginBase(tag, tags::plugin_name::deepfilternet, tags::plugin_package::deepfilternet, schema, schema_path, pipe_manager) { 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.6/src/deepfilternet_preset.cpp000066400000000000000000000057441460155372000215520ustar00rootroot00000000000000/* * 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.6/src/deepfilternet_ui.cpp000066400000000000000000000172621460155372000206630ustar00rootroot00000000000000/* * 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.6/src/deesser.cpp000066400000000000000000000076001460155372000167610ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::deesser, tags::plugin_package::calf, schema, schema_path, pipe_manager) { 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.6/src/deesser_preset.cpp000066400000000000000000000102141460155372000203360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/deesser_ui.cpp000066400000000000000000000242751460155372000174650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/delay.cpp000066400000000000000000000077571460155372000164420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::delay, tags::plugin_package::lsp, schema, schema_path, pipe_manager) { 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.6/src/delay_preset.cpp000066400000000000000000000066601460155372000200140ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/delay_ui.cpp000066400000000000000000000203751460155372000171260ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/easyeffects.cpp000066400000000000000000000042021460155372000176230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/echo_canceller.cpp000066400000000000000000000217731460155372000202640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::echo_canceller, tags::plugin_package::speex, schema, schema_path, pipe_manager, 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.6/src/echo_canceller_preset.cpp000066400000000000000000000053651460155372000216450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/echo_canceller_ui.cpp000066400000000000000000000155711460155372000207600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/effects_base.cpp000066400000000000000000000305161460155372000177420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : log_tag(std::move(tag)), pm(pipe_manager), 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); spectrum = std::make_shared(log_tag, tags::schema::spectrum::id, tags::app::path + "/spectrum/"s, pm); 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); } else if (name.starts_with(tags::plugin_name::bass_enhancer)) { filter = std::make_shared(log_tag, tags::schema::bass_enhancer::id, path, pm); } else if (name.starts_with(tags::plugin_name::bass_loudness)) { filter = std::make_shared(log_tag, tags::schema::bass_loudness::id, path, pm); } else if (name.starts_with(tags::plugin_name::compressor)) { filter = std::make_shared(log_tag, tags::schema::compressor::id, path, pm); } else if (name.starts_with(tags::plugin_name::convolver)) { filter = std::make_shared(log_tag, tags::schema::convolver::id, path, pm); } else if (name.starts_with(tags::plugin_name::crossfeed)) { filter = std::make_shared(log_tag, tags::schema::crossfeed::id, path, pm); } else if (name.starts_with(tags::plugin_name::crystalizer)) { filter = std::make_shared(log_tag, tags::schema::crystalizer::id, path, pm); } else if (name.starts_with(tags::plugin_name::deepfilternet)) { filter = std::make_shared(log_tag, tags::schema::deepfilternet::id, path, pm); } else if (name.starts_with(tags::plugin_name::deesser)) { filter = std::make_shared(log_tag, tags::schema::deesser::id, path, pm); } else if (name.starts_with(tags::plugin_name::delay)) { filter = std::make_shared(log_tag, tags::schema::delay::id, path, pm); } else if (name.starts_with(tags::plugin_name::echo_canceller)) { filter = std::make_shared(log_tag, tags::schema::echo_canceller::id, path, pm); } else if (name.starts_with(tags::plugin_name::exciter)) { filter = std::make_shared(log_tag, tags::schema::exciter::id, path, pm); } else if (name.starts_with(tags::plugin_name::expander)) { filter = std::make_shared(log_tag, tags::schema::expander::id, path, pm); } 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); } else if (name.starts_with(tags::plugin_name::filter)) { filter = std::make_shared(log_tag, tags::schema::filter::id, path, pm); } else if (name.starts_with(tags::plugin_name::gate)) { filter = std::make_shared(log_tag, tags::schema::gate::id, path, pm); } else if (name.starts_with(tags::plugin_name::level_meter)) { filter = std::make_shared(log_tag, tags::schema::level_meter::id, path, pm); } else if (name.starts_with(tags::plugin_name::limiter)) { filter = std::make_shared(log_tag, tags::schema::limiter::id, path, pm); } else if (name.starts_with(tags::plugin_name::loudness)) { filter = std::make_shared(log_tag, tags::schema::loudness::id, path, pm); } else if (name.starts_with(tags::plugin_name::maximizer)) { filter = std::make_shared(log_tag, tags::schema::maximizer::id, path, pm); } else if (name.starts_with(tags::plugin_name::multiband_compressor)) { filter = std::make_shared(log_tag, tags::schema::multiband_compressor::id, path, pm); } else if (name.starts_with(tags::plugin_name::multiband_gate)) { filter = std::make_shared(log_tag, tags::schema::multiband_gate::id, path, pm); } else if (name.starts_with(tags::plugin_name::pitch)) { filter = std::make_shared(log_tag, tags::schema::pitch::id, path, pm); } else if (name.starts_with(tags::plugin_name::reverb)) { filter = std::make_shared(log_tag, tags::schema::reverb::id, path, pm); } else if (name.starts_with(tags::plugin_name::rnnoise)) { filter = std::make_shared(log_tag, tags::schema::rnnoise::id, path, pm); } else if (name.starts_with(tags::plugin_name::speex)) { filter = std::make_shared(log_tag, tags::schema::speex::id, path, pm); } else if (name.starts_with(tags::plugin_name::stereo_tools)) { filter = std::make_shared(log_tag, tags::schema::stereo_tools::id, path, pm); } 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.6/src/effects_box.cpp000066400000000000000000000517551460155372000176300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/equalizer.cpp000066400000000000000000000361031460155372000173300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::equalizer, tags::plugin_package::lsp, schema, schema_path, pipe_manager), 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.6/src/equalizer_band_box.cpp000066400000000000000000000200551460155372000211630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 { 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; 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, tags::equalizer::band_frequency[self->data->index].data()); } void on_reset_gain(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, tags::equalizer::band_gain[self->data->index].data()); } void on_reset_quality(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, tags::equalizer::band_q[self->data->index].data()); } void on_reset_width(EqualizerBandBox* self, GtkButton* btn) { g_settings_reset(self->settings, tags::equalizer::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; g_settings_bind(self->settings, tags::equalizer::band_gain[index].data(), gtk_range_get_adjustment(GTK_RANGE(self->band_scale)), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, tags::equalizer::band_frequency[index].data(), gtk_spin_button_get_adjustment(self->band_frequency), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, tags::equalizer::band_q[index].data(), gtk_spin_button_get_adjustment(self->band_quality), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, tags::equalizer::band_width[index].data(), gtk_spin_button_get_adjustment(self->band_width), "value", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, tags::equalizer::band_solo[index].data(), self->band_solo, "active", G_SETTINGS_BIND_DEFAULT); g_settings_bind(self->settings, tags::equalizer::band_mute[index].data(), self->band_mute, "active", G_SETTINGS_BIND_DEFAULT); ui::gsettings_bind_enum_to_combo_widget(self->settings, tags::equalizer::band_type[index].data(), self->band_type); ui::gsettings_bind_enum_to_combo_widget(self->settings, tags::equalizer::band_mode[index].data(), self->band_mode); ui::gsettings_bind_enum_to_combo_widget(self->settings, tags::equalizer::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_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.6/src/equalizer_preset.cpp000066400000000000000000000157301460155372000207150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/equalizer_ui.cpp000066400000000000000000001106461460155372000200320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 #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 on_off; // Equivalent to EasyEffects `band_mute`. "ON" => mute=false std::string type; float freq = 1000.0F; float gain = 0.0F; float quality = (1.0F / std::numbers::sqrt2_v); }; struct GraphicEQ_Band { float freq = 1000.0F; float gain = 0.0F; }; std::unordered_map const ApoToEasyEffectsFilter = { {"PK", "Bell"}, {"MODAL", "Bell"}, {"PEQ", "Bell"}, {"LP", "Lo-pass"}, {"LPQ", "Lo-pass"}, {"HP", "Hi-pass"}, {"HPQ", "Hi-pass"}, {"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::unordered_map const EasyEffectsToApoFilter = { {"Bell", "PK"}, {"Lo-pass", "LP"}, {"Lo-pass", "LPQ"}, {"Hi-pass", "HP"}, {"Hi-pass", "HPQ"}, {"Lo-shelf", "LS"}, {"Lo-shelf", "LSC"}, {"Lo-shelf", "LS 6DB"}, {"Lo-shelf", "LS 12DB"}, {"Hi-shelf", "HS"}, {"Hi-shelf", "HSC"}, {"Hi-shelf", "HS 6DB"}, {"Hi-shelf", "HS 12DB"}, {"Notch", "NO"}, {"Allpass", "AP"}}; 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_set_double(self->settings_right, band_frequency[n].data(), freq); g_settings_set_double(self->settings_right, band_q[n].data(), q); 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(const std::string& line, struct APO_Band& filter) -> bool { std::smatch matches; static const auto re_filter = std::regex(R"(filter\s*\d*\s*:\s*(?:on|off)\s+([a-z]+(?:\s+(?:6|12)db)?))", std::regex::icase); std::regex_search(line, matches, re_filter); if (matches.size() != 2U) { return false; } // Possible multiple whitespaces are replaced by a single space filter.type = std::regex_replace(matches.str(1), std::regex(R"(\s+)"), " "); // Filter string needed in uppercase for unordered_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_on_off(const std::string& line, struct APO_Band& filter) -> bool { std::smatch matches; static const auto re_on_off = std::regex(R"(filter\s*\d*\s*:\s*(on|off))", std::regex::icase); std::regex_search(line, matches, re_on_off); if (matches.size() != 2U) { return false; } filter.on_off = matches.str(1); // The regex is permissive using std::regex::icase flag, but we need // on/off string in uppercase for string comparisons in import operations. std::transform(filter.on_off.begin(), filter.on_off.end(), filter.on_off.begin(), [](unsigned char c) { return std::toupper(c); }); return true; } auto parse_apo_config_line(const std::string& line, struct APO_Band& filter) -> bool { // Retrieve filter type. if (!parse_apo_filter(line, filter)) { return false; } // Retrieve on/off state. if (!parse_apo_on_off(line, filter)) { 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 be not supported by LSP Equalizer. if (filter.type == "PK" || filter.type == "MODAL" || filter.type == "PEQ") { parse_apo_gain(line, filter); parse_apo_quality(line, filter); } else if (filter.type == "LP" || filter.type == "LPQ" || filter.type == "HP" || filter.type == "HPQ") { parse_apo_quality(line, filter); } else if (filter.type == "LS" || filter.type == "LSC" || filter.type == "HS" || filter.type == "HSC") { parse_apo_gain(line, filter); if (!parse_apo_quality(line, filter)) { filter.quality = 2.0F / 3.0F; } } else if (filter.type == "LS 6DB") { filter.freq = filter.freq * 2.0F / 3.0F; filter.quality = std::numbers::sqrt2_v / 3.0F; parse_apo_gain(line, filter); } else if (filter.type == "LS 12DB") { filter.freq = filter.freq * 3.0F / 2.0F; parse_apo_gain(line, filter); } else if (filter.type == "HS 6DB") { filter.freq = filter.freq / (1.0F / std::numbers::sqrt2_v); filter.quality = std::numbers::sqrt2_v / 3.0F; parse_apo_gain(line, filter); } else if (filter.type == "HS 12DB") { filter.freq = filter.freq * (1.0F / std::numbers::sqrt2_v); parse_apo_gain(line, filter); } else if (filter.type == "NO") { if (!parse_apo_quality(line, filter)) { filter.quality = 100.0F / 3.0F; } } else if (filter.type == "AP") { parse_apo_quality(line, filter); } 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; 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); } for (uint n = 0U, apo_bands = bands.size(); n < max_bands; n++) { for (auto* channel : settings_channels) { if (n < apo_bands) { auto curr_band_mute = (bands[n].on_off == "OFF"); // mute if band is "OFF" 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_boolean(channel, band_mute[n].data(), curr_band_mute); g_settings_set_string(channel, band_type[n].data(), curr_band_type.c_str()); g_settings_set_string(channel, band_mode[n].data(), "APO (DR)"); g_settings_set_double(channel, band_frequency[n].data(), bands[n].freq); g_settings_set_double(channel, band_gain[n].data(), bands[n].gain); g_settings_set_double(channel, band_q[n].data(), bands[n].quality); } else { g_settings_set_string(channel, band_type[n].data(), "Off"); g_settings_reset(channel, band_mute[n].data()); g_settings_reset(channel, band_mode[n].data()); g_settings_reset(channel, band_frequency[n].data()); g_settings_reset(channel, band_gain[n].data()); g_settings_reset(channel, band_q[n].data()); } g_settings_reset(channel, band_slope[n].data()); g_settings_reset(channel, band_solo[n].data()); } } 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_pattern(filter, "*.txt"); 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; double preamp = g_settings_get_double(self->settings, "input-gain"); write_buffer << "Preamp: " << preamp << "db" << "\n"; int nbands = gtk_spin_button_get_value_as_int(self->nbands); for (int i = 0; i < nbands; ++i) { bool curr_band_mute = g_settings_get_boolean(self->settings_left, tags::equalizer::band_mute[i].data()); std::string curr_band_type = g_settings_get_string(self->settings_left, tags::equalizer::band_type[i].data()); if (curr_band_type == "Off") { continue; } APO_Band apo_band; apo_band.on_off = curr_band_mute ? "OFF" : "ON"; apo_band.type = EasyEffectsToApoFilter.at(curr_band_type); apo_band.freq = g_settings_get_double(self->settings_left, tags::equalizer::band_frequency[i].data()); apo_band.gain = g_settings_get_double(self->settings_left, tags::equalizer::band_gain[i].data()); apo_band.quality = g_settings_get_double(self->settings_left, tags::equalizer::band_q[i].data()); write_buffer << "Filter " << i + 1 << ": " << apo_band.on_off << " " << apo_band.type << " Fc " << apo_band.freq << " Hz Gain " << apo_band.gain << " dB Q " << 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_pattern(filter, "*.txt"); 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; 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; // 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); } for (uint n = 0U, geq_bands = bands.size(); n < max_bands; n++) { for (auto* channel : settings_channels) { if (n < geq_bands) { g_settings_set_string(channel, band_type[n].data(), "Bell"); g_settings_set_double(channel, band_frequency[n].data(), bands[n].freq); g_settings_set_double(channel, band_gain[n].data(), bands[n].gain); } else { g_settings_set_string(channel, band_type[n].data(), "Off"); g_settings_reset(channel, band_frequency[n].data()); g_settings_reset(channel, band_gain[n].data()); } g_settings_reset(channel, band_mode[n].data()); g_settings_reset(channel, band_q[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()); } } 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_pattern(filter, "*.txt"); 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, tags::equalizer::band_frequency[a].data()); const auto freq_b = g_settings_get_double(settings, tags::equalizer::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.6/src/exciter.cpp000066400000000000000000000067241460155372000170000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::exciter, tags::plugin_package::calf, schema, schema_path, pipe_manager) { 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.6/src/exciter_preset.cpp000066400000000000000000000060761460155372000203620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/exciter_ui.cpp000066400000000000000000000205731460155372000174730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/expander.cpp000066400000000000000000000167511460155372000171440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::expander, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/expander_preset.cpp000066400000000000000000000146171460155372000205250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/expander_ui.cpp000066400000000000000000000434021460155372000176320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/filter.cpp000066400000000000000000000073421460155372000166170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::filter, tags::plugin_package::lsp, schema, schema_path, pipe_manager) { 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.6/src/filter_preset.cpp000066400000000000000000000071331460155372000201770ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/filter_ui.cpp000066400000000000000000000205561460155372000173160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/fir_filter_bandpass.cpp000066400000000000000000000035301460155372000213250ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/fir_filter_base.cpp000066400000000000000000000122241460155372000204440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 == 0) { 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.6/src/fir_filter_highpass.cpp000066400000000000000000000024661460155372000213470ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/fir_filter_lowpass.cpp000066400000000000000000000022561460155372000212260ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/gate.cpp000066400000000000000000000177461460155372000162630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::gate, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/gate_preset.cpp000066400000000000000000000152461460155372000176360ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/gate_ui.cpp000066400000000000000000000510341460155372000167440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/ladspa_wrapper.cpp000066400000000000000000000547031460155372000203410ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 { using namespace std::string_literals; 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.6/src/level_meter.cpp000066400000000000000000000112001460155372000176210ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::level_meter, tags::plugin_package::ebur128, schema, schema_path, pipe_manager) {} 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 == 0 || rate == 0) { 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.6/src/level_meter_preset.cpp000066400000000000000000000032461460155372000212160ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/level_meter_ui.cpp000066400000000000000000000206351460155372000203320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/libportal.cpp000066400000000000000000000220341460155372000173150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; if (error != nullptr) { // 19 seemingly corresponds to the "cancelled" error which actually means the permission is in a revoked state. if (error->code == 19) { reason = "Background access has been denied"; explanation = "Please allow Easy Effects to ask again with flatpak permission-reset "s + tags::app::id; } else { reason = "Unknown error"; explanation = "Please verify your system has a XDG Background Portal implementation running and working."; } } else { reason = "Unknown error"; explanation = "No explanation could be provided, error was null"; } util::debug(std::string("a background request failed: ") + ((error) != nullptr ? error->message : "unknown reason")); 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(std::string("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(std::string("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(std::string("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(std::string("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(std::string("doing portal sanity check, autostart switch is enabled and shutdown switch is disabled")); update_background_portal(true); } else { util::debug( std::string("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.6/src/limiter.cpp000066400000000000000000000151641460155372000170000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::limiter, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/limiter_preset.cpp000066400000000000000000000115331460155372000203560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/limiter_ui.cpp000066400000000000000000000363231460155372000174750ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/loudness.cpp000066400000000000000000000072271460155372000171700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::loudness, tags::plugin_package::lsp, schema, schema_path, pipe_manager) { 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.6/src/loudness_preset.cpp000066400000000000000000000056631460155372000205540ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/loudness_ui.cpp000066400000000000000000000171341460155372000176630ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/lv2_wrapper.cpp000066400000000000000000000525201460155372000175730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; using namespace std::string_literals; 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.6/src/maximizer.cpp000066400000000000000000000103161460155372000173320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::maximizer, tags::plugin_package::zam, schema, schema_path, pipe_manager) { 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<"ceil", "ceiling">(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.6/src/maximizer_preset.cpp000066400000000000000000000051001460155372000207070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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]["ceiling"] = g_settings_get_double(settings, "ceiling"); 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, "ceiling", "ceiling"); update_key(json.at(section).at(instance_name), settings, "threshold", "threshold"); } easyeffects-7.1.6/src/maximizer_ui.cpp000066400000000000000000000170771460155372000200420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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, *ceiling; 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, "ceiling", gtk_spin_button_get_adjustment(self->ceiling), "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); } 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, ceiling); 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_spinbuttons<"dB">(self->threshold, self->ceiling); 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.6/src/meson.build000066400000000000000000000125511460155372000167660ustar00rootroot00000000000000easyeffects_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.6/src/module_info_holder.cpp000066400000000000000000000100531460155372000211600ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_compressor.cpp000066400000000000000000000154351460155372000215670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::multiband_compressor, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/multiband_compressor_band_box.cpp000066400000000000000000000326751460155372000234300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_compressor_preset.cpp000066400000000000000000000250731460155372000231500ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_compressor_ui.cpp000066400000000000000000000420661460155372000222640ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_gate.cpp000066400000000000000000000151701460155372000203070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::multiband_gate, tags::plugin_package::lsp, schema, schema_path, pipe_manager, 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.6/src/multiband_gate_band_box.cpp000066400000000000000000000302111460155372000221340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_gate_preset.cpp000066400000000000000000000243031460155372000216670ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/multiband_gate_ui.cpp000066400000000000000000000407331460155372000210070ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/node_info_holder.cpp000066400000000000000000000132521460155372000206240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 { using namespace std::string_literals; 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.6/src/output_level.cpp000066400000000000000000000041571460155372000200620ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, "output_level", tags::plugin_package::ee, schema, schema_path, pipe_manager) {} 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.6/src/pipe_manager.cpp000066400000000000000000001635231460155372000177650ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; 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 (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.6/src/pipe_manager_box.cpp000066400000000000000000001125731460155372000206340ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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_names(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.6/src/pitch.cpp000066400000000000000000000326711460155372000164440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::pitch, tags::plugin_package::sound_touch, schema, schema_path, pipe_manager) { 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.6/src/pitch_preset.cpp000066400000000000000000000070761460155372000200270ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/pitch_ui.cpp000066400000000000000000000160321460155372000171320ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/plugin_base.cpp000066400000000000000000000422551460155372000176240ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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, const bool& enable_probe) : log_tag(std::move(tag)), name(std::move(plugin_name)), package(std::move(package)), enable_probe(enable_probe), settings(g_settings_new_with_path(schema.c_str(), schema_path.c_str())), 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.6/src/plugin_preset_base.cpp000066400000000000000000000032431460155372000212000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/plugins_box.cpp000066400000000000000000001015771460155372000176700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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; 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 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 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_icon = gtk_builder_get_object(builder, "plugin_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_icon", plugin_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* plugin_icon = static_cast(g_object_get_data(G_OBJECT(item), "plugin_icon")); gtk_image_set_from_icon_name(plugin_icon, "ee-arrow-down-symbolic"); 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; } } 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, 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); } 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.6/src/plugins_menu.cpp000066400000000000000000000256341460155372000200430ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/preferences_general.cpp000066400000000000000000000144701460155372000213300ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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_spinbutton<"s">(self->inactivity_timeout); prepare_spinbutton<"ms">(self->meters_update_interval); prepare_spinbutton<"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.6/src/preferences_spectrum.cpp000066400000000000000000000206641460155372000215570ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/preferences_window.cpp000066400000000000000000000054621460155372000212230ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/presets_autoloading_holder.cpp000066400000000000000000000042211460155372000227330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/presets_manager.cpp000066400000000000000000000744251460155372000205170ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 "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_schema.hpp" #include "util.hpp" PresetsManager::PresetsManager() : user_config_dir(g_get_user_config_dir()), user_presets_dir(user_config_dir + "/easyeffects/"), user_input_dir(user_config_dir + "/easyeffects/input"), user_output_dir(user_config_dir + "/easyeffects/output"), 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)) { // user presets directories create_user_directory(user_presets_dir); create_user_directory(user_input_dir); create_user_directory(user_output_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_names(const PresetType& preset_type) -> std::vector { const auto user_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; std::vector names; std::filesystem::directory_iterator it = std::filesystem::directory_iterator{user_dir}; const auto vn = search_names(it); names.insert(names.end(), vn.begin(), vn.end()); // removing duplicates std::sort(names.begin(), names.end()); 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())) { if (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) { for (const auto& p : get_names(preset_type)) { if (p == name) { return; } } save_preset_file(preset_type, name); } 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 user_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; preset_file = user_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_preset_file(const PresetType& preset_type, const std::string& name) -> bool { nlohmann::json json; std::vector plugins; std::vector conf_dirs; std::filesystem::path input_file; auto preset_found = false; // Load the plugin order based on the input/output pipeline. switch (preset_type) { case PresetType::output: { conf_dirs.push_back(user_output_dir); for (const auto& dir : conf_dirs) { input_file = dir / std::filesystem::path{name + json_ext}; if (std::filesystem::exists(input_file)) { preset_found = true; break; } } if (preset_found) { try { std::ifstream is(input_file); is >> json; for (const auto& p : json.at("output").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(soe_settings, "plugins", util::make_gchar_pointer_vector(plugins).data()); } else { util::debug("can't find the preset " + name + " on the filesystem"); return false; } break; } case PresetType::input: { conf_dirs.push_back(user_input_dir); for (const auto& dir : conf_dirs) { input_file = dir / std::filesystem::path{name + json_ext}; if (std::filesystem::exists(input_file)) { preset_found = true; break; } } if (preset_found) { try { std::ifstream is(input_file); is >> json; for (const auto& p : json.at("input").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(sie_settings, "plugins", util::make_gchar_pointer_vector(plugins).data()); } else { util::debug("can't find the preset " + name + " on the filesystem"); return false; } break; } } // 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 preset: " + input_file.string()); return true; } return false; } 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(const PresetType& preset_type, const std::string& file_path) { 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; } std::filesystem::path out_path; const auto user_dir = (preset_type == PresetType::output) ? user_output_dir : user_input_dir; out_path = user_dir / p.filename(); std::filesystem::copy_file(p, out_path, std::filesystem::copy_options::overwrite_existing); util::debug("imported 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 preset " + name + " for device " + device_name); const auto* key = (preset_type == PresetType::output) ? "last-used-output-preset" : "last-used-input-preset"; if (load_preset_file(preset_type, name)) { g_settings_set_string(settings, key, name.c_str()); } else { g_settings_reset(settings, key); } } 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; } } auto PresetsManager::preset_file_exists(const PresetType& preset_type, const std::string& name) -> bool { std::filesystem::path input_file; std::vector conf_dirs; switch (preset_type) { case PresetType::output: { conf_dirs.push_back(user_output_dir); for (const auto& dir : conf_dirs) { input_file = dir / std::filesystem::path{name + json_ext}; if (std::filesystem::exists(input_file)) { return true; } } break; } case PresetType::input: { conf_dirs.push_back(user_input_dir); for (const auto& dir : conf_dirs) { input_file = dir / std::filesystem::path{name + json_ext}; if (std::filesystem::exists(input_file)) { return true; } } break; } } return false; } 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.6/src/presets_menu.cpp000066400000000000000000000464311460155372000200450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 "application.hpp" #include "config.h" #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; GtkScrolledWindow* scrolled_window; GtkListView* listview; GtkText* name; GtkLabel* last_used_name; GtkStringList* string_list; GSettings* settings; Data* data; }; // NOLINTNEXTLINE G_DEFINE_TYPE(PresetsMenu, presets_menu, GTK_TYPE_POPOVER) void create_preset(PresetsMenu* self, GtkButton* button) { auto name = std::string(g_utf8_make_valid(gtk_editable_get_text(GTK_EDITABLE(self->name)), -1)); if (name.empty()) { return; } gtk_editable_set_text(GTK_EDITABLE(self->name), ""); // Truncate if longer than 100 characters if (name.size() > 100U) { name.resize(100U); } if (name.find_first_of("\\/") != std::string::npos) { util::debug(" 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(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")); auto* init_folder = g_file_new_for_path(SYSTEM_PRESETS_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(PresetType::output, path); } else if (self->data->preset_type == PresetType::input) { self->data->application->presets_manager->import(PresetType::input, path); } g_free(path); } g_object_unref(files_list); }, self); } template void setup_listview(PresetsMenu* self, GtkListView* listview, GtkStringList* string_list) { 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); if constexpr (preset_type == PresetType::output) { if (self->data->application->presets_manager->load_preset_file(PresetType::output, preset_name)) { g_settings_set_string(self->settings, "last-used-output-preset", preset_name); } else { g_settings_reset(self->settings, "last-used-output-preset"); } } else if constexpr (preset_type == PresetType::input) { if (self->data->application->presets_manager->load_preset_file(PresetType::input, preset_name)) { g_settings_set_string(self->settings, "last-used-input-preset", preset_name); } else { g_settings_reset(self->settings, "last-used-input-preset"); } } } }), 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); 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 0: { // 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 1: { // 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, factory); g_object_unref(factory); for (const auto& name : self->data->application->presets_manager->get_names(preset_type)) { gtk_string_list_append(string_list, 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->string_list)); n++) { if (preset_name == gtk_string_list_get_string(self->string_list, n)) { return; } } gtk_string_list_append(self->string_list, 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->string_list)); n++) { if (preset_name == gtk_string_list_get_string(self->string_list, n)) { gtk_string_list_remove(self->string_list, n); return; } } }; if (preset_type == PresetType::output) { setup_listview(self, self->listview, self->string_list); 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-used-output-preset", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); gtk_label_set_text(self->last_used_name, util::gsettings_get_string(settings, key).c_str()); }), self)); gtk_label_set_text(self->last_used_name, util::gsettings_get_string(self->settings, "last-used-output-preset").c_str()); // reset last used name label const auto names_output = self->data->application->presets_manager->get_names(PresetType::output); if (names_output.empty()) { g_settings_set_string(self->settings, "last-used-output-preset", _("Presets")); return; } for (const auto& name : names_output) { if (name == util::gsettings_get_string(self->settings, "last-used-output-preset")) { return; } } g_settings_set_string(self->settings, "last-used-output-preset", _("Presets")); } else if (preset_type == PresetType::input) { setup_listview(self, self->listview, self->string_list); 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-used-input-preset", G_CALLBACK(+[](GSettings* settings, char* key, gpointer user_data) { auto* self = static_cast(user_data); gtk_label_set_text(self->last_used_name, util::gsettings_get_string(settings, key).c_str()); }), self)); gtk_label_set_text(self->last_used_name, util::gsettings_get_string(self->settings, "last-used-input-preset").c_str()); // reset last used name label const auto names_input = self->data->application->presets_manager->get_names(PresetType::input); if (names_input.empty()) { g_settings_set_string(self->settings, "last-used-input-preset", _("Presets")); return; } for (const auto& name : names_input) { if (name == util::gsettings_get_string(self->settings, "last-used-input-preset")) { return; } } g_settings_set_string(self->settings, "last-used-input-preset", _("Presets")); } } 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, 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, string_list); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, scrolled_window); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, listview); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, name); gtk_widget_class_bind_template_child(widget_class, PresetsMenu, last_used_name); gtk_widget_class_bind_template_callback(widget_class, create_preset); gtk_widget_class_bind_template_callback(widget_class, import_preset); } 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.6/src/resampler.cpp000066400000000000000000000021421460155372000173150ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/reverb.cpp000066400000000000000000000065751460155372000166260ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::reverb, tags::plugin_package::calf, schema, schema_path, pipe_manager) { 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.6/src/reverb_preset.cpp000066400000000000000000000072101460155372000201730ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/reverb_ui.cpp000066400000000000000000000300721460155372000173100ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/rnnoise.cpp000066400000000000000000000240631460155372000170060ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 "util.hpp" RNNoise::RNNoise(const std::string& tag, const std::string& schema, const std::string& schema_path, PipeManager* pipe_manager) : PluginBase(tag, tags::plugin_name::rnnoise, tags::plugin_package::rnnoise, schema, schema_path, pipe_manager), 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); 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-path", 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_file(); 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_file(); 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(); } } } #ifdef ENABLE_RNNOISE auto RNNoise::get_model_from_file() -> RNNModel* { RNNModel* m = nullptr; const auto path = util::gsettings_get_string(settings, "model-path"); // Standard Model if (path.empty()) { standard_model = true; util::debug(log_tag + name + " using the standard model."); model_changed.emit(false); return m; } // Custom Model util::debug(log_tag + name + " loading custom model from file: " + 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.6/src/rnnoise_preset.cpp000066400000000000000000000056711460155372000203740ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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-path"] = util::gsettings_get_string(settings, "model-path"); 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, "model-path", "model-path"); 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"); } easyeffects-7.1.6/src/rnnoise_ui.cpp000066400000000000000000000407101460155372000175000ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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(SYSTEM_RNNOISE_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, "*.rnnn"); 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)) == 0) { g_settings_set_string(self->settings, "model-path", ""); } } 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-path"); !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-path", self->selection_model, "selected", G_SETTINGS_BIND_DEFAULT, +[](GValue* value, GVariant* variant, gpointer user_data) { auto* self = EE_RNNOISE_BOX(user_data); const auto* v = g_variant_get_string(variant, nullptr); const auto path = std::filesystem::path{v}; const std::string default_model_name = _("Standard Model"); auto gsettings_model_name = path.stem(); 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); const std::string model_name = gtk_string_object_get_string(GTK_STRING_OBJECT(item)); g_object_unref(item); if (gsettings_model_name == model_name) { g_value_set_uint(value, n); } else if (model_name == default_model_name) { standard_model_id = n; } } if (gsettings_model_name.empty()) { g_value_set_uint(value, standard_model_id); } return 1; }, +[](const GValue* value, const GVariantType* expected_type, gpointer user_data) { auto* self = EE_RNNOISE_BOX(user_data); auto string_object = GTK_STRING_OBJECT(gtk_single_selection_get_selected_item(GTK_SINGLE_SELECTION(self->selection_model))); const std::string name = gtk_string_object_get_string(string_object); const std::string default_model_name = _("Standard Model"); if (name == default_model_name) { return g_variant_new_string(""); } const auto model_file = model_dir / std::filesystem::path{name + rnnn_ext}; return g_variant_new_string(model_file.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_spinbutton<"ms">(self->release); prepare_spinbutton<"%">(self->vad_thres); // The following spinbuttons can assume -inf prepare_spinbuttons<"dB", false>(self->wet); // model dir if (!std::filesystem::is_directory(model_dir)) { if (std::filesystem::create_directories(model_dir)) { util::debug("model directory created: " + model_dir.string()); } else { util::warning("failed to create model directory: " + model_dir.string()); } } else { util::debug("model directory already exists: " + model_dir.string()); } 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.6/src/spectrum.cpp000066400000000000000000000105601460155372000171700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, "spectrum", tags::plugin_package::ee, schema, schema_path, pipe_manager), 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.6/src/speex.cpp000066400000000000000000000241451460155372000164560ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::speex, tags::plugin_package::speex, schema, schema_path, pipe_manager), 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.6/src/speex_preset.cpp000066400000000000000000000070151460155372000200350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/speex_ui.cpp000066400000000000000000000164501460155372000171530ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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 { using namespace std::string_literals; 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.6/src/stereo_tools.cpp000066400000000000000000000123131460155372000200450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) : PluginBase(tag, tags::plugin_name::stereo_tools, tags::plugin_package::calf, schema, schema_path, pipe_manager) { 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.6/src/stereo_tools_preset.cpp000066400000000000000000000117141460155372000214330ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/stereo_tools_ui.cpp000066400000000000000000000241501460155372000205440ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/stream_input_effects.cpp000066400000000000000000000312721460155372000215420ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) { 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.6/src/stream_output_effects.cpp000066400000000000000000000305451460155372000217450ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) { 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.6/src/tags_plugin_name.cpp000066400000000000000000000144651460155372000206520ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/test_signals.cpp000066400000000000000000000155631460155372000200350ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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.6/src/ui_helpers.cpp000066400000000000000000000217141460155372000174700ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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) -> bool { auto* adjustment = gtk_spin_button_get_adjustment(button); auto value = gtk_adjustment_get_value(adjustment); auto precision = gtk_spin_button_get_digits(button); auto str_unit = (unit != nullptr) ? (" "s + unit) : ""; 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, double* new_value, const bool& lower_bound) -> int { 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(); if (s.starts_with(_("-inf"))) { *new_value = util::minimum_db_d_level; return 1; } } str.imbue(ui::get_user_locale()); auto v = 0.0; if (str >> v) { *new_value = std::clamp(v, min, max); return 1; } 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.6/src/util.cpp000066400000000000000000000331661460155372000163120ustar00rootroot00000000000000/* * Copyright © 2017-2024 Wellington Wallace * * This file is part of Easy Effects. * * Easy Effects is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Easy Effects is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General 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() << ":" << 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; } using namespace std::string_literals; 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) { using namespace std::string_literals; 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); } 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.6/util/000077500000000000000000000000001460155372000150065ustar00rootroot00000000000000easyeffects-7.1.6/util/NEWS.yaml000066400000000000000000000556611460155372000164630ustar00rootroot00000000000000--- Version: UNRELEASED_VERSION Date: UNRELEASED_DATE Description: - Features∶ - - Bug fixes∶ - - Other notes∶ - --- 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 EasyEffeects 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.6/util/autobuild.sh000077500000000000000000000065171460155372000173460ustar00rootroot00000000000000#!/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.6/util/changes_since_last_release.sh000077500000000000000000000004531460155372000226630ustar00rootroot00000000000000#!/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.6/util/clang-tidy.sh000077500000000000000000000017321460155372000174030ustar00rootroot00000000000000#!/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.6/util/crystalizer.py000077500000000000000000000027211460155372000177400ustar00rootroot00000000000000#!/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.6/util/environmental_variables.sh000077500000000000000000000006741460155372000222650ustar00rootroot00000000000000#!/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.6/util/flatpak/000077500000000000000000000000001460155372000164305ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/com.github.wwmm.easyeffects.Devel.json000066400000000000000000000061501460155372000257100ustar00rootroot00000000000000{ "id": "com.github.wwmm.easyeffects.Devel", "runtime": "org.gnome.Platform", "runtime-version": "45", "sdk": "org.gnome.Sdk", "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": { "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/Plugins" ], "modules": [ "easyeffects-modules.json" ] } ] } easyeffects-7.1.6/util/flatpak/easyeffects-modules.json000066400000000000000000000357531460155372000233070ustar00rootroot00000000000000{ "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": "git", "url": "https://github.com/xiph/rnnoise.git", "commit": "6cbfd53eb348a8d394e0757b4025c6ded34eb2b6", "x-checker-data": { "type": "json", "url": "https://api.github.com/repos/xiph/rnnoise/commits", "commit-query": "first( .[].sha )", "version-query": "first( .[].sha )", "timestamp-query": "first( .[].commit.committer.date )" } } ], "cleanup": [ "/share/doc/rnnoise" ] }, { "name": "soundtouch", "buildsystem": "cmake-ninja", "sources": [ { "type": "git", "url": "https://codeberg.org/soundtouch/soundtouch.git", "tag": "2.3.1", "commit": "e1f315f5358d9db5cee35a7a2886425489fcefe8", "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.11.0.tar.gz", "sha256": "782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363", "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.7.1.tar.gz", "sha256": "dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b", "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.30.0/mold-2.30.0-x86_64-linux.tar.gz", "sha256": "977e6a123f9c7a45c73f84cd47fc7d4113fb39471d0de7a751ee39350888ac93", "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.30.0/mold-2.30.0-aarch64-linux.tar.gz", "sha256": "258aaf2b7808ea22fca625480efdf7a13830e9ee311716db0ba9c62af1770c07", "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.6/util/flatpak/patch/000077500000000000000000000000001460155372000175275ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/patch/bs2b/000077500000000000000000000000001460155372000203575ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/patch/bs2b/001-fix-automake-dist-lzma.patch000066400000000000000000000006731460155372000262000ustar00rootroot00000000000000--- 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.6/util/flatpak/patch/zita-convolver/000077500000000000000000000000001460155372000225115ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/patch/zita-convolver/0001-Fix-makefile.patch000066400000000000000000000021641460155372000264140ustar00rootroot00000000000000From 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.6/util/flatpak/shared-modules/000077500000000000000000000000001460155372000213445ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/shared-modules/linux-audio/000077500000000000000000000000001460155372000236025ustar00rootroot00000000000000easyeffects-7.1.6/util/flatpak/shared-modules/linux-audio/fftw3f.json000066400000000000000000000016521460155372000257000ustar00rootroot00000000000000{ "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.6/util/flatpak/shared-modules/linux-audio/ladspa.json000066400000000000000000000007261460155372000257460ustar00rootroot00000000000000{ "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.6/util/flatpak/shared-modules/linux-audio/lilv.json000066400000000000000000000036511460155372000254500ustar00rootroot00000000000000{ "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.6/util/flatpak/shared-modules/linux-audio/lv2.json000066400000000000000000000010431460155372000251760ustar00rootroot00000000000000 { "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.6/util/news-release-template.yaml000066400000000000000000000001771460155372000221020ustar00rootroot00000000000000--- Version: UNRELEASED_VERSION Date: UNRELEASED_DATE Description: - Features∶ - - Bug fixes∶ - - Other notes∶ - easyeffects-7.1.6/util/run-clang-tidy.py000066400000000000000000000351151460155372000202220ustar00rootroot00000000000000#!/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.6/util/sanitizer.supp000066400000000000000000000001031460155372000177210ustar00rootroot00000000000000leak:libEGL_mesa* leak:libfontconfig* leak:libsigc* leak:libglib-2*easyeffects-7.1.6/util/sanitizer.txt000066400000000000000000000003401460155372000175540ustar00rootroot00000000000000meson 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.6/util/test.wav000066400000000000000000025511021460155372000165120ustar00rootroot00000000000000RIFF: 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