Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
6d746f2
1.3.0-beta release
Core447 Mar 30, 2024
eeac1cd
Merge pull request #13 from StreamController/dev
Core447 Mar 30, 2024
10f2040
Merge pull request #14 from StreamController/dev
Core447 Mar 30, 2024
4049aad
Merge pull request #15 from StreamController/dev
Core447 Mar 30, 2024
5fa4816
Merge pull request #16 from StreamController/dev
Core447 Mar 30, 2024
044a2d4
Merge pull request #17 from StreamController/dev
Core447 Mar 30, 2024
4bc8c19
Add no affiliation note to readme
Core447 Mar 30, 2024
75b2f90
Merge pull request #18 from StreamController/dev
Core447 Mar 31, 2024
b6f13bf
Merge pull request #19 from StreamController/dev
Core447 Apr 1, 2024
76ed5b5
Merge pull request #20 from StreamController/dev
Core447 Apr 1, 2024
a94b018
Merge pull request #22 from StreamController/dev
Core447 Apr 8, 2024
c040f5e
Merge pull request #25 from StreamController/dev
Core447 Apr 9, 2024
0bbf8bd
appdata: `translate=no` properties
sabriunal Apr 9, 2024
75d636d
Merge pull request #27 from StreamController/dev
Core447 Apr 10, 2024
8fff4db
Merge pull request #26 from yakushabb/fixtr
Core447 Apr 10, 2024
f126ba7
Merge pull request #28 from StreamController/dev
Core447 Apr 10, 2024
8f42329
Destroy window on close
Core447 Apr 10, 2024
d6bd02c
Fix: Overlay button icon not updating correctly on back button click …
Core447 Apr 10, 2024
27b036d
Fix: KeyVideo has no close method
Core447 Apr 11, 2024
4f7873c
Add loading screen to AssetManager
Core447 Apr 11, 2024
b0be83b
Catch old instance still on dbus error
Core447 Apr 11, 2024
a970fdf
Fix: Plugin update not hot reloading
Core447 Apr 11, 2024
f87dda1
Update gitignore
Core447 Apr 11, 2024
9a4b1db
Fix: show_for_path not working in CustomAssets
Core447 Apr 11, 2024
3568969
Bump version to 1.4.10-beta
Core447 Apr 11, 2024
4f62632
Fix: Store back button not always updating
Core447 Apr 11, 2024
62051f4
Prevent OriginalURL row to open empry urls
Core447 Apr 11, 2024
3f5066f
Add short description to store asset previews
Core447 Apr 12, 2024
29281e5
Add developer arguments
Core447 Apr 12, 2024
a5b1b27
Fix: Autostart using desktop file not working in flatpak
Core447 Apr 12, 2024
d275ac5
Catch potential new page error in WindowGrabber
Core447 Apr 13, 2024
2b62db5
Automatically open action configurator for new actions
Core447 Apr 13, 2024
7499c7a
Fix: on_ready gets called twice
Core447 Apr 13, 2024
125386c
Added ScaleRow to GtkHelper (#34)
G4PLS Apr 13, 2024
4d3bf46
Allow connection with Pedal
Core447 Apr 14, 2024
c3a2820
Add svg support
Core447 Apr 14, 2024
ff03086
Bump idna from 3.6 to 3.7 (#30)
dependabot[bot] Apr 14, 2024
3c2717e
Bump pymongo from 4.6.2 to 4.6.3 (#23)
dependabot[bot] Apr 14, 2024
683a38f
Bump pillow from 10.2.0 to 10.3.0 (#21)
dependabot[bot] Apr 14, 2024
7de8291
Update comment in about dialog
Core447 Apr 14, 2024
0c4de72
Add new contributors to the about dialog
Core447 Apr 14, 2024
631e2f5
Add license description fallback for plugin in the store
Core447 Apr 14, 2024
2a53999
Update flatpak manifest
Core447 Apr 14, 2024
7ebc284
Bump version to 1.4.11-beta
Core447 Apr 14, 2024
de9ed8e
Add page import from streamdeck-gui-linux (#44)
Core447 Apr 14, 2024
f9fe71f
Fix: on_ready of actions never updated
Core447 Apr 14, 2024
9b9df91
Allow images sizes above 100 percent
Core447 Apr 14, 2024
fe9f10d
Update issue templates
Core447 Apr 14, 2024
c1655b6
Fix: Deck numbers not going higher than 2
Core447 Apr 15, 2024
1aec59f
Add remove button to custom assets
Core447 Apr 15, 2024
b4d7eb9
Add trace prints to own_actions_tick
Core447 Apr 15, 2024
6e58708
Rename PageManager to PageManagerBackend
Core447 Apr 16, 2024
7c31484
Fix: some calls not refactored to page_manager_backend
Core447 Apr 16, 2024
58bb147
Fix: Potential crash on large import from streamdeck-gui-linux
Core447 Apr 16, 2024
a027412
Fix: old references to gl.page_manager
Core447 Apr 16, 2024
a2b9fcb
Add natural sorting to PageManager PageSelector
Core447 Apr 16, 2024
6f8262e
Reduce page switching time in large libraries
Core447 Apr 17, 2024
2f1a705
Fix: StreamDeckUI importer overriting pages from other decks
Core447 Apr 17, 2024
99b9a2f
Refactor page_manager var name
Core447 Apr 17, 2024
f81b14b
Fix: Error if opening page manager the second time
Core447 Apr 17, 2024
95ebc0f
Improve get_is_present method of ActionBase
Core447 Apr 17, 2024
8850fef
Store plugins under their id instead of their name
Core447 Apr 17, 2024
a873f09
Fix: StreamDeckUI importer using text as write text action
Core447 Apr 17, 2024
679a049
Fix: ActionManger error if no page
Core447 Apr 18, 2024
a01852f
Re-save pages during import that couldnt be saved
Core447 Apr 18, 2024
42f1d20
Fix: streamdeck-linux-gui import breaking page switches
Core447 Apr 19, 2024
9e18942
Add flatpak udev rules
Core447 Apr 19, 2024
3fe3d48
Move udev rules file into root dir
Core447 Apr 19, 2024
e72d0c0
Change tick delay adaptivally
Core447 Apr 19, 2024
ba607ce
Improve page switching performance
Core447 Apr 19, 2024
037bf21
Return None if no color in hex_to_rgba255
Core447 Apr 19, 2024
4b56af5
Create missing dirs in setup_autostart_desktop_entry
Core447 Apr 19, 2024
1752528
Add revert buttons to key properties to overwrite action defaults (#54)
Core447 Apr 19, 2024
cfe8ede
Add try statement to LabelEditor disconnect_signals
Core447 Apr 19, 2024
7879dc9
Remove ticking logs
Core447 Apr 19, 2024
3680128
Move page switch action to the top in streamdeck-ui importer
Core447 Apr 20, 2024
c4ace48
FIx: clear_old_cached_pages clearing still loaded pages
Core447 Apr 20, 2024
66cd2b4
Fix: PageManager clearing pages that are still used for ticking
Core447 Apr 20, 2024
99eb8ab
Fix: Crash if show_error gets called
Core447 Apr 20, 2024
6530adb
Prevent actions in multi actions to call show_error
Core447 Apr 20, 2024
c28fa21
Hide layout and label editor rows per default
Core447 Apr 20, 2024
9b5d638
Improve force quit timer of on_quit
Core447 Apr 20, 2024
c165fbb
Fix: trying to set ready_for_clear even if no page is loaded
Core447 Apr 20, 2024
793d915
Fix: Loading empty page might show some old buttons
Core447 Apr 20, 2024
dd13459
Fix: calling show_error while error is visible removes original image
Core447 Apr 20, 2024
92af846
Add more conditions to clear_old_chached_pages
Core447 Apr 20, 2024
599a5cb
Fix: KeyGrid pixbuf attr error
Core447 Apr 20, 2024
3066b0b
Fix: LabelEditor crash if label dict not present
Core447 Apr 20, 2024
b497654
Add page import button to no pages error page
Core447 Apr 20, 2024
39687e9
Add new LocaleManager using csvs instead of json
Core447 Apr 20, 2024
e5c1bf9
Remove old language files
Core447 Apr 20, 2024
303dd85
Add import, export, duplicate to PageManager
Core447 Apr 20, 2024
46de7c8
Add additional condition to import_page_callback
Core447 Apr 20, 2024
2a45039
Remove debug return from on_change_font
Core447 Apr 20, 2024
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
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: BUG
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Describe the feature idea**
A clear and concise description of your idea

**Additional context**
Add any other context or screenshots about the feature request here.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,6 @@ vid_cache/

**/.flatpak-builder/

**/.flatpak/
**/.flatpak/

.flatpak/meson.sh
46 changes: 44 additions & 2 deletions GtkHelper/GtkHelper.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ def set_url(self, url:str):
self.open_button.set_sensitive(True)

def on_open_clicked(self, button:Gtk.Button):
if self.get_subtitle() in [None, "N/A"]:
if self.get_subtitle() in [None, "N/A", ""]:
return
web.open(self.get_subtitle())

Expand Down Expand Up @@ -403,11 +403,53 @@ def __init__(self, title, model: Gtk.ListStore, **kwargs):
self.combo_box = Gtk.ComboBox.new_with_model(self.model)
self.main_box.append(self.combo_box)


class ScaleRow(Adw.PreferencesRow):
def __init__(self, title, value: float, min: float, max: float, step: float, text_right: str = "", text_left: str = "", **kwargs):
super().__init__(title=title, **kwargs)
self.main_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL,
margin_start=10, margin_end=10,
margin_top=10, margin_bottom=10)
self.set_child(self.main_box)

self.label = Gtk.Label(label=title, hexpand=True, xalign=0)
self.main_box.append(self.label)

self.adjustment = Gtk.Adjustment.new(value, min, max, step, 1, 0)

self.scale = Gtk.Scale(orientation=Gtk.Orientation.HORIZONTAL, adjustment=self.adjustment)
self.scale.set_size_request(200, -1) # Adjust width as needed
self.scale.set_tooltip_text(str(value))

def correct_step_amount(adjustment):
value = adjustment.get_value()
step = adjustment.get_step_increment()
rounded_value = round(value / step) * step
adjustment.set_value(rounded_value)

self.adjustment.connect("value-changed", correct_step_amount)

self.label_right = Gtk.Label(label=text_right, hexpand=False, xalign=0)

self.label_left = Gtk.Label(label=text_left, hexpand=False, xalign=0)

self.main_box.append(self.label_left)
self.main_box.append(self.scale)
self.main_box.append(self.label_right)




class BackButton(Gtk.Button):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6)
self.set_child(self.box)

self.box.append(Gtk.Image(icon_name="go-previous-symbolic"))
self.box.append(Gtk.Label(label=gl.lm.get("go-back")))
self.box.append(Gtk.Label(label=gl.lm.get("go-back")))

class RevertButton(Gtk.Button):
def __init__(self, **kwargs):
super().__init__(icon_name="edit-undo-symbolic", **kwargs)
self.set_tooltip_text("Revert to action defaults")
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ Feel free to open Pull requests

## Links
[Website](https://core447.com) - [Wiki](https://streamcontroller.github.io/docs) - [Discord](https://discord.gg/MSyHM8TN3u)

## Note
This application is unofficial and in no way affiliated with Elgato.
7 changes: 4 additions & 3 deletions autostart.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,13 @@ def setup_autostart_desktop_entry():
log.info("Setting up autostart using desktop entry")


xdg_config_home = os.environ.get("XDG_CONFIG_HOME", os.path.join(os.environ.get("HOME"), ".config"))
xdg_config_home = os.path.join(os.environ.get("HOME"), ".config")
AUTOSTART_DIR = os.path.join(xdg_config_home, "autostart")
AUTOSTART_DESKTOP_PATH = os.path.join(AUTOSTART_DIR, "StreamController.desktop")

try:
os.makedirs(os.path.dirname(AUTOSTART_DESKTOP_PATH), exist_ok=True)
shutil.copyfile(os.path.join("flatpak", "com.core447.StreamController.desktop"), AUTOSTART_DESKTOP_PATH)
log.info(f"Autostart set up at: {AUTOSTART_DESKTOP_PATH}")
except:
log.error(f"Failed to set up autostart at: {AUTOSTART_DESKTOP_PATH}")
except Exception as e:
log.error(f"Failed to set up autostart at: {AUTOSTART_DESKTOP_PATH} with error: {e}")
9 changes: 5 additions & 4 deletions com.core447.StreamController.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ modules:
sources:
- type: git
url: https://gitlab.gnome.org/GNOME/libpeas.git
tag: 2.0.1
tag: 2.0.2

- name: libportal
buildsystem: meson
Expand Down Expand Up @@ -94,7 +94,8 @@ modules:
sources:
- type: git
url: https://github.com/StreamController/StreamController.git
tag: 1.4.6-beta
# branch: dev
# tag: 1.4.10-beta
branch: main

# Install via: flatpak-builder --repo=repo --force-clean --install --user build-dir com.core447.StreamController.yml
# Install via: flatpak-builder --repo=repo --force-clean --install --user build-dir com.core447.StreamController.yml
# Use git submodule update --init if the shared-modules folder is empty
62 changes: 37 additions & 25 deletions flatpak/com.core447.StreamController.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<component type="desktop-application">
<id>com.core447.StreamController</id>

<developer_name translatable="no">Core447</developer_name>
<developer_name translate="no">Core447</developer_name>
<developer id="com.core447">
<name translatable="no">Core447</name>
<name translate="no">Core447</name>
</developer>

<launchable type="desktop-id">com.core447.StreamController.desktop</launchable>
Expand Down Expand Up @@ -41,127 +41,139 @@
<url type="bugtracker">https://github.com/StreamController/StreamController/issues</url>
<url type="contribute">https://github.com/StreamController/StreamController</url>
<releases>
<release version="1.4.11-beta" date="2024-04-14">
<description translatable="no">
<p>Bugfixes</p>
<p>Svg support</p>
</description>
</release>
<release version="1.4.10-beta" date="2024-04-11">
<description translatable="no">
<p>Bugfixes</p>
<p>Add loading screen to the asset manager</p>
</description>
</release>
<release version="1.4.9-beta" date="2024-04-10">
<description translatable="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.8-beta" date="2024-04-09">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.7-beta" date="2024-04-08">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.6-beta" date="2024-04-08">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
<p>Memory optimizations</p>
</description>
</release>
<release version="1.4.5-beta" date="2024-04-02">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.4-beta" date="2024-04-02">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.3-beta" date="2024-04-02">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.2-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.1-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.4.0-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.9-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.8-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.7-beta" date="2024-04-01">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.6-beta" date="2024-03-31">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.5-beta" date="2024-03-31">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.4-beta" date="2024-03-31">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
<p>Bundle icons</p>
</description>
</release>
<release version="1.3.3-beta" date="2024-03-30">
<description translatable="no">
<description translate="no">
<p>Switch to system icons for the settings</p>
</description>
</release>
<release version="1.3.2-beta" date="2024-03-30">
<description translatable="no">
<description translate="no">
<p>Switch to system icons for the settings</p>
</description>
</release>
<release version="1.3.1-beta" date="2024-03-30">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.3.0-beta" date="2024-03-30">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
<p>New page manager</p>
</description>
</release>
<release version="1.2.1-beta" date="2024-03-27">
<description translatable="no">
<description translate="no">
<p>Bugfixes</p>
</description>
</release>
<release version="1.2.0-beta" date="2024-03-27">
<description translatable="no">
<description translate="no">
<p>First beta release</p>
<p>Bug fixes</p>
</description>
</release>
<release version="1.2.0-alpha" date="2024-03-27">
<description translatable="no">
<description translate="no">
<p>First release</p>
</description>
</release>
<release version="1.1.2-alpha" date="2024-03-25">
<description translatable="no">
<description translate="no">
<p>First test release</p>
</description>
</release>
Expand Down
Loading