Vivy issueshttps://git.iiens.net/Elliu/Vivy/-/issues2021-11-19T11:58:50+01:00https://git.iiens.net/Elliu/Vivy/-/issues/5MPV deadlock on exit2021-11-19T11:58:50+01:00KubatMPV deadlock on exitMPV deadlock on futex in mpv_terminate_destroy when exiting while video is still playing
```
#0 0x00007ffff4cf78ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0
#1 0x00007ffff4cf1270 in pthread_cond_wait@@GLIBC_2.3....MPV deadlock on futex in mpv_terminate_destroy when exiting while video is still playing
```
#0 0x00007ffff4cf78ca in __futex_abstimed_wait_common64 () at /usr/lib/libpthread.so.0
#1 0x00007ffff4cf1270 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#2 0x00007ffff5d898ec in () at /usr/lib/libmpv.so.1
#3 0x00007ffff5e228fc in () at /usr/lib/libmpv.so.1
#4 0x00007ffff5dca62c in () at /usr/lib/libmpv.so.1
#5 0x00007ffff5dc19c4 in () at /usr/lib/libmpv.so.1
#6 0x00007ffff5da3339 in () at /usr/lib/libmpv.so.1
#7 0x000000010006391f in Vivy::MpvContainer::closeMpv() (this=0x10080b3a0) at /home/elliu/Projects/Vivy/src/UI/DocumentViews/MpvContainer.cc:72
#8 0x0000000100063976 in Vivy::MpvContainer::~MpvContainer() (this=0x10080b3a0, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/DocumentViews/MpvContainer.cc:78
#9 0x00000001000639c4 in Vivy::MpvContainer::~MpvContainer() (this=0x10080b3a0, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/DocumentViews/MpvContainer.cc:79
#10 0x00007ffff53a1b7e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#11 0x00007ffff7a635ce in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#12 0x000000010002a27e in Vivy::VideoView::~VideoView() (this=0x100eb3ff0, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/DocumentViews/VideoView.hh:13
#13 0x000000010002a2a0 in Vivy::VideoView::~VideoView() (this=0x100eb3ff0, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/DocumentViews/VideoView.hh:13
#14 0x00007ffff53a1b7e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff7a635ce in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff7b4a88a in QDockWidget::~QDockWidget() () at /usr/lib/libQt5Widgets.so.5
#17 0x000000010005a4b1 in Vivy::AbstractDocumentView::deleteAllContent() (this=0x100942e30) at /home/elliu/Projects/Vivy/src/UI/AbstractDocumentView.cc:33
#18 0x0000000100081a5b in Vivy::VivyDocumentView::closeDocument() (this=0x100942e30) at /home/elliu/Projects/Vivy/src/UI/VivyDocumentView.cc:163
#19 0x0000000100080bac in Vivy::VivyDocumentView::~VivyDocumentView() (this=0x100942e30, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/VivyDocumentView.cc:51
#20 0x0000000100080c24 in Vivy::VivyDocumentView::~VivyDocumentView() (this=0x100942e30, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/VivyDocumentView.cc:52
#21 0x00007ffff53a1b7e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#22 0x00007ffff7a635ce in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff7be371a in QStackedWidget::~QStackedWidget() () at /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff53a1b7e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#25 0x00007ffff7a635ce in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#26 0x00007ffff7c0793a in QTabWidget::~QTabWidget() () at /usr/lib/libQt5Widgets.so.5
#27 0x00007ffff53a1b7e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#28 0x00007ffff7a635ce in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#29 0x000000010002a202 in Vivy::MainWindow::~MainWindow() (this=0x7fffffffd790, __in_chrg=<optimized out>) at /home/elliu/Projects/Vivy/src/UI/MainWindow.hh:20
#30 0x0000000100085924 in Vivy::VivyApplication::exec() (this=0x7fffffffd820) at /home/elliu/Projects/Vivy/src/VivyApplication.cc:65
#31 0x000000010005746a in main(int, char**) (argc=1, argv=0x7fffffffd9d8) at /home/elliu/Projects/Vivy/src/Main.cc:7
```https://git.iiens.net/Elliu/Vivy/-/issues/4Add scripting functions to access video and audio source properties2021-08-17T16:43:24+02:00ElliuAdd scripting functions to access video and audio source properties# For Video
General video properties:
- Dimensions
- Framerate
- Keyframes
Some more extra and pretty bonkers properties to get:
- Pixel color at position (x,y)
- "average color" on an area
# For Audio
- "average loudness" around a time# For Video
General video properties:
- Dimensions
- Framerate
- Keyframes
Some more extra and pretty bonkers properties to get:
- Pixel color at position (x,y)
- "average color" on an area
# For Audio
- "average loudness" around a timehttps://git.iiens.net/Elliu/Vivy/-/issues/2Fullscreen MPV view dock2021-08-30T21:12:49+02:00KubatFullscreen MPV view dockWhen the MPV view dock is floating and goes full-screen, get rid of controls and sliders to just show the videoWhen the MPV view dock is floating and goes full-screen, get rid of controls and sliders to just show the videohttps://git.iiens.net/Elliu/Vivy/-/issues/1Central theme settings2021-09-08T11:52:09+02:00KubatCentral theme settingsAdd a ThemeProvider to centralize the theming of Vivy.
- No more per widget style with hard-coded colors
- An easy and maintainable theme
- Also add a switch for dark/light theme.
We can use the QtCreator thing, with themes like https:...Add a ThemeProvider to centralize the theming of Vivy.
- No more per widget style with hard-coded colors
- An easy and maintainable theme
- Also add a switch for dark/light theme.
We can use the QtCreator thing, with themes like https://github.com/qt-creator/qt-creator/tree/master/share/qtcreator/themes. The source for parsing and applying those themes are here: https://github.com/qt-creator/qt-creator/tree/master/src/libs/utils/theme.