Comments (20)
@nodiscc Hi, if you can confirm that it works as expected, now I can move on the 0.4 release
Thanks :)
from linux-show-player.
Now the curve is something like that:
GStreamer use the linear value, so we have "real" mute:
The CartLayout slider have a 0.001 precision.
from linux-show-player.
Actually the Volume control
cue will probably be removed in favor to a generic Fade
cue.
I think that, while a Fade
cue that allow multiple target is "simpler" to use, to avoid similar an too complex components it's probably better to combine more Fade
cue using a Collection
.
from linux-show-player.
it's probably better to combine more Fade cue using a Collection.
Yes this works great.
Volume control cue will probably be removed in favor to a generic Fade cue
Great also
Is there a way to adjust the volume for each Media
cue directly from a slider in the main view? Or do I have to Edit options > Media settings > Volume > OK.
?
from linux-show-player.
Currently there is no way to change the volume directly in the CartLayout.
A possible way is to do something that looks like the seek-bar, probably exclusive with this one, what do you think?
from linux-show-player.
A possible way is to do something that looks like the seek-bar
Yes! An horizontal or vertical slider like the seek bar would do the trick (though vertical would make more sense, since volume faders tend to be vertical. But either works for me).
from linux-show-player.
@nodiscc let me know how it works
from linux-show-player.
Sorry for the delay. I will test ASAP.
from linux-show-player.
Ok, I am trying to build the latest version but can't get it to compile because of missing files:
$ pip3 install --pre .
Processing /home/bsp/tmp/linux-show-player
Requirement already satisfied (use --upgrade to upgrade): sortedcontainers in /usr/lib/python3/dist-packages (from linux-show-player===0.4)
Requirement already satisfied (use --upgrade to upgrade): mido in /usr/local/lib/python3.5/dist-packages (from linux-show-player===0.4)
Collecting python-rtmidi (from linux-show-player===0.4)
Using cached python-rtmidi-0.5b1.zip
Collecting JACK-Client (from linux-show-player===0.4)
Using cached JACK_Client-0.4.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): CFFI in /usr/lib/python3/dist-packages (from JACK-Client->linux-show-player===0.4)
Building wheels for collected packages: linux-show-player, python-rtmidi
Running setup.py bdist_wheel for linux-show-player ... done
Stored in directory: /root/.cache/pip/wheels/4e/66/b6/76b04a8886ba153eb2eff3b1be5fb3eead240b36270828dbc4
Running setup.py bdist_wheel for python-rtmidi ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8rk2q8f1/python-rtmidi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmphn3j334apip-wheel- --python-tag cp35:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/midiconstants.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/midiutil.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/__init__.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/release.py -> build/lib.linux-x86_64-3.5/rtmidi
creating build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/device.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/midiio.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/__init__.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/oscdispatcher.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/lru_cache.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/midievents.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/main.py -> build/lib.linux-x86_64-3.5/osc2midi
running build_ext
building 'rtmidi._rtmidi' extension
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D__PYX_FORCE_INIT_THREADS -D__LINUX_ALSA__ -D__UNIX_JACK__ -Isrc -I/usr/include/python3.5m -c src/_rtmidi.cpp -o build/temp.linux-x86_64-3.5/src/_rtmidi.o
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
src/_rtmidi.cpp:4:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for python-rtmidi
Running setup.py clean for python-rtmidi
Successfully built linux-show-player
Failed to build python-rtmidi
Installing collected packages: python-rtmidi, JACK-Client, linux-show-player
Running setup.py install for python-rtmidi ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8rk2q8f1/python-rtmidi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4jqfw_4p-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/midiconstants.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/midiutil.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/__init__.py -> build/lib.linux-x86_64-3.5/rtmidi
copying rtmidi/release.py -> build/lib.linux-x86_64-3.5/rtmidi
creating build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/device.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/midiio.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/__init__.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/oscdispatcher.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/lru_cache.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/midievents.py -> build/lib.linux-x86_64-3.5/osc2midi
copying examples/osc2midi/main.py -> build/lib.linux-x86_64-3.5/osc2midi
running build_ext
building 'rtmidi._rtmidi' extension
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/src
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D__PYX_FORCE_INIT_THREADS -D__LINUX_ALSA__ -D__UNIX_JACK__ -Isrc -I/usr/include/python3.5m -c src/_rtmidi.cpp -o build/temp.linux-x86_64-3.5/src/_rtmidi.o
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
src/_rtmidi.cpp:4:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8rk2q8f1/python-rtmidi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4jqfw_4p-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-8rk2q8f1/python-rtmidi/
-> src/_rtmidi.cpp:4:20: fatal error: Python.h: No such file or directory
I have installed all development packages related to rtmidi:
libportmidi-dev - library for real-time MIDI input/output
libportmidi0 - library for real-time MIDI input/output
python-pypm - Python interface to libportmidi
librtmidi-dbg - C++ library for realtime MIDI input/ouput (debugging symbols)
librtmidi-dev - C++ library for realtime MIDI input/ouput (development files)
librtmidi2v5 - C++ library for realtime MIDI input/ouput
@FrancescoCeruti any clue why this happens?
from linux-show-player.
Looks like you miss the python headers, on debian the python-dev
package should fix the problem
from linux-show-player.
Yay it works!
(With a popup warning on start:)
ERROR:: Failed "Midi" lading
Details: Backend loading failed: mido.backends.rtmidi
I will update the documentation for required packages and send a Pull Request.
The new volume control is great, thanks! Huge step forward in usability
Only minor remarks:
I like that the control is able to decrease or boost the volume (will be useful for samples recorded with low level), however there's no easy way to find the middle point back. I had a sample at 0dB, decreased the volume; when trying to set it back to normal it started clipping as soon as I passed the middle point. Possible solutions:
- Be able to set the fader range (eg -inifinity to +0, or -20db to +12dB...) in Edit cue.
- Forget about boost and only allow decreasing (-infinity to +0) the volume. No risk of clipping.
- Place a middle "0" marker on the fader (without some kind of "snap to 0" behavior it will be hard to set the volume exactly there, but a "snap" would introduce a bump in volume as soon as you move the fader close enough, so probably not a very good solution, though a 0 marker would still be useful)
- A shortcut to set it back to exactly 0 (Alt+Click ?)
Another minor problem is the curve of volume changes. Put the volume all the way down, increase by a single step (1 pixel up), the bump in volume (from mute to minimum) is very noticeable. Do you use a log scale for volume changes? Or is it linear
Thanks again for your work
from linux-show-player.
I've added markers every 50% volume on the slider, and now should works when using the mouse wheel to move it.
The increase/decrease is linear from 0% to 200%, the minimum change is 1%, if you need a better change the volume-change cue is your best options (for the problem below).
A problem I've noticed is that sometimes the volume remain stuck on a value for a moment (especially during fast movements) and this cause a bump, I think that's something out of my control but I'll try to investigate on it.
from linux-show-player.
@nodiscc now the sliders goes from 0dB to -100dB, let me know if you think they work better this way.
The only drawback is that when the cue volume is set with a > 0dB value the first step down will be more considerable.
from linux-show-player.
Will test ASAP
from linux-show-player.
@nodiscc have you tested it? In the 0.4 version I've included the last (-100db to 0db) version.
If other changes are needed (and feasible) I'll move the issues in the 0.4.1 millstone, thanks :)
from linux-show-player.
Hi @FrancescoCeruti I've just been playing with the latest changes.
- The volume curve now feels more comfortable (no sudden hops)... but it still feels weird. Setting the fader to the middle point almost completely kills the volume. I think this is because the curve really should be logarithmic.
As an example, the kind of volume fader curve that I expect, can be found on most mixing consoles (eg. take a look at the DM1000 faders. Notice that
- Near 0dB, it is possible to make fine adjustments, moving the fader 5mm up or down does not impact the volume in an obvious way, whereas
- At the bottom near -50dB, a 5mm up/down changes affects the volume by 10 to 100dB !
So if you happen to implement the following, it would be a damn fine fader!
- Logarithmic curve
- Allows for a +10dB boost
- Fader value should not replace, but sum with the
Cue volume
property defined inEdit cue
(Cue volume +12dB, Fade level -10dB = Cue plays at +2dB). This would fix the problem you were talking about. - Maybe stopping the cue should not reset the fader value to 0? I don't know but this is fine for now.
👍
from linux-show-player.
Logarithmic curve
Allows for a +10dB boost
Actually it's some kind of logarithmic, probably you are looking for something like this?
http://forum.cockos.com/showpost.php?s=012b5bf782c8aaaf09eb03cac04d251a&p=580744&postcount=2
Fader value should not replace, but sum with the Cue volume property defined in Edit cue (Cue volume +12dB, Fade level -10dB = Cue plays at +2dB). This would fix the problem you were talking about.
This can be solved by using the same value range.
Maybe stopping the cue should not reset the fader value to 0? I don't know but this is fine for now.
The "live" widget, controls the property in a different way (the same as the VolumeControl cue), this allow to have a slightly faster response, and I believe it's more functional with this kind of behaviour.
from linux-show-player.
http://forum.cockos.com/showpost.php?s=012b5bf782c8aaaf09eb03cac04d251a&p=580744&postcount=2
Yes this is what I meant
(the 10th value should probably be closer to -144dB which is the dynamic range of 24-bit data. Or if -inf is actually possible this would be even better - "real" mute). I had no idea common desk faders did not use a really logarithmic curve.
This can be solved by using the same value range.
slightly faster response, and I believe it's more functional with this kind of behaviour.
Ok .
from linux-show-player.
Will test this soon, thank you
from linux-show-player.
One month already, sorry for the delayyyy. @FrancescoCeruti I wanted to let you know that it works perfectly. Thanks! I have used it in a live setting (theatre cues) and mouse/keyboard control is shaping up nicely in Linux Show Player.
I will try to do some more testing, improve the documentation and share project templates soon. Props for your work on LiSP.
Fixed.
from linux-show-player.
Related Issues (20)
- Fails to connect with JACK in 0.6 (flatpak version) HOT 4
- Having trouble installing from source code
- Missing 'Mapping' from 'collections' still a problem HOT 2
- Preferences not showing as expected HOT 6
- Building LiSP 0.6 on Debian trixie HOT 2
- Media waveform showing trim limits
- Cannot create pipeline element: "Pitch" / Failed to find an svg icon for window HOT 2
- Disabling cues without removing them HOT 1
- Documentation request: buffering HOT 1
- Command Cue not working properly in Flatpak
- Removal of a collection cue with no cues crashes the Program HOT 1
- Segmentation Fault in pyalsa with python 3.12 HOT 6
- Network error on start up HOT 2
- Fade in stays silent then jumps to full volume HOT 1
- Can't move the cues in List Layout HOT 3
- Can't resize some columns in list layout HOT 1
- windows support HOT 2
- OBS Meda Cue Plugin HOT 2
- Add a converter / importer for older lsp files HOT 1
- Fail to Initialize Plugin: Network at Fedora 40 KDE spin HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux-show-player.