Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ui Refresh #264

Draft
wants to merge 77 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
b04ea25
chore: bump deps
SeaDve Nov 24, 2023
8c1c9b0
feat: initial new UI impl
SeaDve Nov 25, 2023
8ac215f
fix: use max of channels
SeaDve Nov 25, 2023
37c5641
misc: drop useless separator
SeaDve Nov 25, 2023
0b385b6
feat: working selection toggle and info label
SeaDve Nov 25, 2023
76ebe21
feat: wire up framerate to info label
SeaDve Nov 25, 2023
0b2ab50
feat: wire up format name to info label
SeaDve Nov 25, 2023
7288e51
fix: set pipeline state to null when changing session
SeaDve Nov 25, 2023
958d539
fix: initially disable selection toggle sensitivity
SeaDve Nov 25, 2023
aa3a81f
misc: downgrade viewport logs to trace
SeaDve Nov 25, 2023
14ee5a0
fix: only compute stream size when missing
SeaDve Nov 25, 2023
66d0fea
misc: increase preview FPS
SeaDve Nov 25, 2023
2e943d2
refactor: use correct var name
SeaDve Nov 25, 2023
82d434e
misc: enable sync on fakesink
SeaDve Nov 25, 2023
e9f46a9
misc: fallback selection to middle of view port
SeaDve Nov 25, 2023
8cfa692
misc: use new pipeline
SeaDve Nov 26, 2023
0ab9cfe
fix: dispose previous session
SeaDve Nov 26, 2023
38a5d39
refactor: use constants for color
SeaDve Nov 26, 2023
0a7927f
misc: drop useless normalization
SeaDve Nov 26, 2023
d8c0bb7
refactor: simplify selection shade
SeaDve Nov 26, 2023
b5971af
refactor: use self where more applicable
SeaDve Nov 26, 2023
27172ff
fix: add minimum selection rect size when drawing shade
SeaDve Nov 26, 2023
2e85e53
misc: make view port vexpand
SeaDve Nov 26, 2023
b2535f7
misc: use w and h ceiling
SeaDve Nov 26, 2023
b3d4543
fix: compute paintable rect on size_allocate
SeaDve Nov 26, 2023
d97d5b8
fix: update selection when view port resizes
SeaDve Nov 26, 2023
a016bb2
misc: improve comments
SeaDve Nov 26, 2023
1440272
refactor: simplify insetting
SeaDve Nov 26, 2023
8127fd2
refactor: make selection an actual property
SeaDve Nov 26, 2023
5bf5b66
misc: drop useless freeze_notify
SeaDve Nov 26, 2023
b1eab1c
refactor: use template callbacks
SeaDve Nov 26, 2023
db38111
refactor: use glib::Object::new where applicable
SeaDve Nov 26, 2023
4f8731a
refactor: avoid dual access to selection
SeaDve Nov 26, 2023
6b12f74
fix: don't panic on drag when missing a paintable
SeaDve Nov 26, 2023
ff21b58
refactor: rename to prev
SeaDve Nov 26, 2023
a5b24fd
misc: add todo
SeaDve Nov 26, 2023
875c294
misc: improve viewport styling
SeaDve Nov 26, 2023
2ad760f
refactor: reduce dup on size_allocate
SeaDve Nov 26, 2023
e0fadad
feat: show individual channels rms
SeaDve Nov 26, 2023
11fadea
refactor: use unified pipeline
SeaDve Nov 27, 2023
df84b6c
misc: wire up recording to ui
SeaDve Nov 27, 2023
883544d
fix: remove duration source id on dispose
SeaDve Nov 27, 2023
55a90e6
refactor: use better names
SeaDve Nov 27, 2023
44dfbd9
misc: record audio
SeaDve Nov 27, 2023
7568009
misc: only update duration when recording
SeaDve Nov 27, 2023
b05d96f
misc: wire up cropping
SeaDve Nov 27, 2023
ffd75f6
fix: properly update stream size
SeaDve Nov 27, 2023
3927b65
refactor: more consistent tee name
SeaDve Nov 27, 2023
557a03f
fix: remove sink pads on compositor when changing streams
SeaDve Nov 27, 2023
5ace37d
refactor: drop one-time use utils func
SeaDve Nov 27, 2023
f766a76
refactor: improve readability
SeaDve Nov 27, 2023
bfc48db
misc: add more bus logs
SeaDve Nov 27, 2023
ea68190
misc: increase preview frame rate to 60
SeaDve Nov 27, 2023
127299e
refactor: simplify code
SeaDve Nov 27, 2023
ec1de9f
misc: wire up saving location
SeaDve Nov 28, 2023
8846a73
misc: drop certain unused files
SeaDve Nov 28, 2023
bc596bd
misc: wire up record delay
SeaDve Nov 28, 2023
0689135
feat: add toast overlay to show errors
SeaDve Nov 28, 2023
73342c6
refactor: more consistent naming
SeaDve Nov 28, 2023
934f199
misc: use after on signal connection
SeaDve Nov 28, 2023
df54ff1
misc: add todo on wiring up delay to UI
SeaDve Nov 28, 2023
b072c7d
refactor: rename timer to delay timer
SeaDve Nov 28, 2023
bcabb34
refactor: use is_zero
SeaDve Nov 28, 2023
562d0f4
misc: improve timer docs
SeaDve Nov 28, 2023
3cfb906
po: remove removed files
SeaDve Nov 28, 2023
d2fa978
misc: update copyright
SeaDve Nov 28, 2023
b58ea3f
misc: new selection styling
SeaDve Nov 29, 2023
797e0d9
fix: correct the crops
SeaDve Nov 29, 2023
6397933
misc: round selection handle extents
SeaDve Nov 29, 2023
021b0b0
refactor: handle select saving location error outside
SeaDve Nov 29, 2023
ab48ad9
misc: use toast to show preferences window errors
SeaDve Nov 29, 2023
89ed432
refactor: use imp where applicable
SeaDve Nov 29, 2023
8d47ec5
misc: drop useless connect_paintable_notify
SeaDve Nov 29, 2023
15851da
fix: properly get stream size
SeaDve Nov 29, 2023
c211342
misc: update todo
SeaDve Nov 30, 2023
433773e
misc: dump pipeline data to dot file when debug mode on record
SeaDve Dec 3, 2023
f65f921
misc: use plain videoconvert for sink
SeaDve Dec 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ anyhow = "1.0.59"
tracing = "0.1.36"
tracing-subscriber = "0.3.15"
gettext-rs = { version = "0.7.0", features = ["gettext-system"] }
gtk = { package = "gtk4", version = "0.7", features = ["gnome_45"] }
gtk = { package = "gtk4", version = "0.7", features = ["v4_14"] }
gdk-wayland = { package = "gdk4-wayland", version = "0.7" }
gdk-x11 = { package = "gdk4-x11", version = "0.7" }
adw = { package = "libadwaita", version = "0.5", features = ["v1_4"] }
Expand Down
3 changes: 1 addition & 2 deletions build-aux/io.github.seadve.Kooha.Devel.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
"--env=RUST_BACKTRACE=1",
"--env=RUST_LOG=kooha=debug",
"--env=G_MESSAGES_DEBUG=none",
"--env=KOOHA_EXPERIMENTAL=1",
"--env=GST_DEBUG=3"
"--env=KOOHA_EXPERIMENTAL=1"
],
"build-options": {
"append-path": "/usr/lib/sdk/llvm16/bin:/usr/lib/sdk/rust-stable/bin",
Expand Down
15 changes: 15 additions & 0 deletions data/io.github.seadve.Kooha.gschema.xml.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<schemalist>
<schema path="/io/github/seadve/Kooha/" id="@app-id@" gettext-domain="@gettext-package@">
<key name="window-width" type="i">
<default>1000</default>
<summary>Window width</summary>
<description></description>
</key>
<key name="window-height" type="i">
<default>600</default>
<summary>Window height</summary>
<description></description>
</key>
<key name="window-maximized" type="b">
<default>false</default>
<summary>Whether the window is maximized</summary>
<description></description>
</key>
<key type="s" name="capture-mode">
<choices>
<choice value="monitor-window"/>
Expand Down
4 changes: 0 additions & 4 deletions data/resources/icons/scalable/actions/checkmark-symbolic.svg

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions data/resources/icons/scalable/actions/crop-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions data/resources/icons/scalable/actions/info-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions data/resources/icons/scalable/actions/refresh-symbolic.svg

This file was deleted.

7 changes: 0 additions & 7 deletions data/resources/icons/scalable/actions/selection-symbolic.svg

This file was deleted.

This file was deleted.

9 changes: 4 additions & 5 deletions data/resources/resources.gresource.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@
<gresource prefix="/io/github/seadve/Kooha/">
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/audio-volume-high-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/audio-volume-muted-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/checkmark-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/circle-filled-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/crop-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/info-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/microphone-disabled-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/microphone2-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/mouse-wireless-disabled-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/mouse-wireless-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/refresh-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/selection-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/source-pick-symbolic.svg</file>
<file compressed="true" preprocess="xml-stripblanks">icons/scalable/actions/warning-symbolic.svg</file>
<file compressed="true">style.css</file>
<file compressed="true" preprocess="xml-stripblanks">ui/area-selector.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/preferences-window.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="gtk/help-overlay.ui">ui/shortcuts.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/view-port.ui</file>
<file compressed="true" preprocess="xml-stripblanks">ui/window.ui</file>
</gresource>
</gresources>
8 changes: 8 additions & 0 deletions data/resources/style.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
.view-port {
padding: 6px;
}

.red {
color: #e01b24;
}

row.error-view {
padding: 0px;
}
Expand Down
85 changes: 0 additions & 85 deletions data/resources/ui/area-selector.ui

This file was deleted.

4 changes: 2 additions & 2 deletions data/resources/ui/shortcuts.ui
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<property name="title" translatable="yes">Recording</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="action-name">win.toggle-record</property>
<property name="action-name">win.toggle-recording</property>
<property name="title" translatable="yes">Toggle Record</property>
</object>
</child>
Expand All @@ -52,7 +52,7 @@
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="action-name">win.cancel-record</property>
<property name="action-name">win.cancel-recording</property>
<property name="title" translatable="yes">Cancel Record</property>
</object>
</child>
Expand Down
22 changes: 22 additions & 0 deletions data/resources/ui/view-port.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="KoohaViewPort">
<style>
<class name="view"/>
</style>
<child>
<object class="GtkEventControllerMotion">
<signal name="enter" handler="enter" swapped="yes"/>
<signal name="motion" handler="motion" swapped="yes"/>
<signal name="leave" handler="leave" swapped="yes"/>
</object>
</child>
<child>
<object class="GtkGestureDrag">
<signal name="drag-begin" handler="drag_begin" swapped="yes"/>
<signal name="drag-update" handler="drag_update" swapped="yes"/>
<signal name="drag-end" handler="drag_end" swapped="yes"/>
</object>
</child>
</template>
</interface>
Loading