Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
396 commits
Select commit Hold shift + click to select a range
c16a3ab
MediaPlugin: Add thumbnail option
Core447 Nov 4, 2023
bfcef50
MediaPlugin: Add info action
Core447 Nov 4, 2023
d411619
Fix: ActionConfigurator never hides custom config area
Core447 Nov 4, 2023
55fcd9e
MediaPlugin: Fix wrong centering of icons
Core447 Nov 4, 2023
2e4aa49
Add action remove button
Core447 Nov 4, 2023
b3c7b97
MediaPlugin: Improve error redundancy
Core447 Nov 4, 2023
44272f3
Remove old debug prints
Core447 Nov 4, 2023
4a20e4b
Make ui key backgrounds transparent
Core447 Nov 4, 2023
933419a
Add search entry to ActionChooser
Core447 Nov 5, 2023
875b5fc
Fix: MediaPlugin crash if media player doesn't provide a thumbnail
Core447 Nov 5, 2023
9ce6899
Fix: on_ready not called on new actions
Core447 Nov 5, 2023
ae65353
Remove duplicated plugins in ui
Core447 Nov 5, 2023
069085a
Fix: Init plugins multiple times
Core447 Nov 5, 2023
8179c21
Fix: Actions without on_tick method get overwritten by a black images…
Core447 Nov 5, 2023
fa026a0
Fix: Same plugin constant values for all plugins
Core447 Nov 5, 2023
6d34e93
Add OS Plugin
Core447 Nov 5, 2023
e113c91
Fix: MediaPlugin PlayPause not working
Core447 Nov 5, 2023
c3bf88f
Fix: MediaPlugin PlayPause not showing if no media playing
Core447 Nov 5, 2023
852e0a1
Add click hint to icon selector
Core447 Nov 5, 2023
ac91a52
Add asset manager ui
Core447 Nov 7, 2023
980d377
Add drag and drop import to AssetManager
Core447 Nov 7, 2023
48f4b91
Fix: Key error on incomplete media key
Core447 Nov 8, 2023
38b1374
Choose key images with AssetManager
Core447 Nov 8, 2023
561a1ed
Fix: SameFileError in AssetManager
Core447 Nov 8, 2023
57f778e
Settings: Switch from file dialog to asset manager window
Core447 Nov 8, 2023
da83952
Add video preview support to AssetManager
Core447 Nov 8, 2023
3513c4b
Add search to AssetManager
Core447 Nov 10, 2023
9f87e1b
Fix: Crash if expected settings file doesn't exist
Core447 Nov 10, 2023
e47c680
Add basic OBS plugin
Core447 Nov 11, 2023
db9133b
OSPlugin: Add open in browser action
Core447 Nov 11, 2023
4eb2a16
Add remove button to ImageSelector
Core447 Nov 11, 2023
bdd5fab
Add default image support for actions
Core447 Nov 11, 2023
c578f1a
Fix: AssetManager shows all assets two times
Core447 Nov 11, 2023
2c7d446
Fix: MediaPlugin crash if art image path is not valid
Core447 Nov 11, 2023
9b8d201
Fix: Background images not showing in ui
Core447 Nov 11, 2023
34f2070
Fix: IconSelector remove button still visible after click
Core447 Nov 11, 2023
cda8980
Fix: OBSPlugin not updating status
Core447 Nov 11, 2023
0607faa
Fix: PageSelector nut updating
Core447 Nov 11, 2023
17dc3df
Add missing method stop_all_tasks to MediaHandler
Core447 Nov 11, 2023
cb166dd
Fix: PageManager get_pages ignoring remove_extension argument
Core447 Nov 11, 2023
fa91fbf
Add get_name method to Page
Core447 Nov 11, 2023
ddef405
Add Deck Plugin
Core447 Nov 11, 2023
4f73a48
Fix: OBSPlugin crashes if OBS not running
Core447 Nov 11, 2023
0834793
Add sleep action to DeckPlugin
Core447 Nov 11, 2023
6ce49b0
Fix: Sometimes keys from the old page remain displayed on switch
Core447 Nov 11, 2023
349312a
Fix: PageSelector not changing page
Core447 Nov 11, 2023
13bb1f4
Keep same action objects on page switch
Core447 Nov 11, 2023
67224c0
Fix: Index error during some page switches
Core447 Nov 11, 2023
3d5cf6e
Fix: Bug in Page.has_key_an_image_controlling_action
Core447 Nov 11, 2023
4dad405
Fix: Spellling mistake
Core447 Nov 11, 2023
8197066
Fix: OSPlugin wrong CONTROLS_KEY_IMAGE states
Core447 Nov 11, 2023
dc65673
Add multi action key icon
Core447 Nov 11, 2023
3312c61
Fix: KeyError on page change
Core447 Nov 11, 2023
1180a32
Fix: Right area not updating on page change
Core447 Nov 11, 2023
2f2851b
Fix: IconSelector remove button not appearing after adding an image
Core447 Nov 11, 2023
5c96cde
DeckPlugin: Add brightness controll actions
Core447 Nov 11, 2023
036cd03
Fix: Multi action image shown on empty keys
Core447 Nov 11, 2023
a19d60d
Fix: New actions not showing up without reload
Core447 Nov 11, 2023
66ab93f
Fix: Buggy shrinking on actions with set_key in on_tick
Core447 Nov 11, 2023
c047528
OBSPlugin: Add error icon
Core447 Nov 11, 2023
6a68f20
Add missing get_custom_area to ActionBase
Core447 Nov 11, 2023
d4ea7d5
Add settings manager to PluginBase
Core447 Nov 11, 2023
0bb39aa
PluginBase: Add custom css method
Core447 Nov 11, 2023
15a1a7d
Add error catching and config rows to OBS plugin
Core447 Nov 11, 2023
9df9396
Fix: MediaPlugin crash on on_key_down without playing media
Core447 Nov 12, 2023
ecfe349
Fix: AssetManager crash if file already exists
Core447 Nov 12, 2023
81f962a
Fix: Page Settings not updating on page switch
Core447 Nov 15, 2023
f7009f6
Add missing selfs
Core447 Nov 18, 2023
40dbe3a
AssetManager add thumbnails
Core447 Nov 18, 2023
c1b2fc4
Improve AssetManager search speed
Core447 Nov 18, 2023
fd89988
Add requirements.txt support to PluginManager
Core447 Nov 18, 2023
6b8ed88
Update requirements.txt
Core447 Nov 18, 2023
92b36d9
Add asset store
Core447 Nov 24, 2023
d418e4e
Deactivate stargazers in store because of rate limits
Core447 Nov 25, 2023
e3d4144
Add thumbnail caching to store
Core447 Nov 25, 2023
735b3d6
Store plugin preview show plugin name specified in manifest
Core447 Nov 25, 2023
65dfe83
Add more infos to plugin store preview
Core447 Nov 25, 2023
b0c00ce
Add missing css classes
Core447 Nov 25, 2023
5d2b897
Refractor store code
Core447 Nov 25, 2023
ad7700b
Disable plugin requirement installation
Core447 Nov 25, 2023
75b4038
Add plugins folder to gitignore
Core447 Nov 25, 2023
9a36dd6
Add install button to plugin store
Core447 Nov 25, 2023
0f6e962
Remove old prints
Core447 Nov 25, 2023
3dfcd43
Fix: Access wrong page settings row on page load
Core447 Nov 25, 2023
bba9ac5
Fix: Not loading all actions if one action string not found
Core447 Nov 25, 2023
8f53997
Fix: Constant regeneration of action index on page load
Core447 Nov 25, 2023
8de6da9
Fix: BackgroundGroup no media_row
Core447 Nov 25, 2023
21395cf
Remove preinstalled plugins
Core447 Nov 25, 2023
c85f883
Fix: Wrong cache for async functions
Core447 Nov 25, 2023
dfd527d
Reload page after plugin installation
Core447 Nov 25, 2023
4464110
Update requirements.txt
Core447 Nov 25, 2023
2fc4447
Improve get_repo_name method
Core447 Nov 25, 2023
330c64c
Add repo name to cached plugin image file names
Core447 Nov 25, 2023
df88734
Update store cache paths
Core447 Nov 25, 2023
d9aeb56
Fix: Crash if store cache index jsons not present
Core447 Nov 25, 2023
1dee23b
Remove absolute paths
Core447 Nov 25, 2023
a33a3a8
Plugin store cache manifests
Core447 Nov 25, 2023
8948acd
Fix: Store manifest cache not removing old versions
Core447 Nov 25, 2023
71cd92c
Add margin below search entry of store pages
Core447 Nov 25, 2023
deb62f5
Add search to store
Core447 Nov 25, 2023
5e3a4df
Add missing stars variable to plugin previews
Core447 Nov 26, 2023
843b167
Add install missing plugins button to ActionEditor
Core447 Nov 26, 2023
80c8821
Add typing to globals
Core447 Nov 26, 2023
6c79a49
Refactor ActionExpanderRow to use methods of BetterExpander
Core447 Nov 26, 2023
76aebe8
Add remove button for uninstalled plugin actions to ActionManager
Core447 Nov 26, 2023
be5975a
Add plugin store loading animation
Core447 Nov 26, 2023
fb78e91
Add missing import to PluginPage
Core447 Nov 26, 2023
fad2a9c
Improve stability of plugin page
Core447 Nov 26, 2023
666dee2
Remove plugin store stress test
Core447 Nov 26, 2023
6f644bb
Remove for loop used for debugging
Core447 Nov 26, 2023
f379e5a
Add remove button to plugin store
Core447 Nov 26, 2023
6c7a328
Add missing css class red-background
Core447 Nov 26, 2023
8663884
Add remove_child method to BetterExpander
Core447 Nov 26, 2023
1ba8108
Update gitignore
Core447 Nov 26, 2023
b4fd7c3
Remove ignored files
Core447 Nov 26, 2023
7aeb7d9
Add info screen to asset manager window
Core447 Nov 26, 2023
d368ddd
Fix: Wrong method name
Core447 Nov 27, 2023
bd13579
Add checks to page methods to avoid problems with not loaded actions
Core447 Nov 27, 2023
ef3eeaf
Fix: Crash on key_press on key with uninstalled plugin actions
Core447 Nov 27, 2023
2d43eaf
Refactor plugin store page
Core447 Nov 27, 2023
02cd4ef
Fix: Preview bottom seperator sometimes in the middle
Core447 Nov 27, 2023
baba059
Fix: Plugin store previews not badges shown
Core447 Nov 27, 2023
a462e71
Add icon page to store
Core447 Nov 27, 2023
298a79c
Move AttributeRow to GtkHelper
Core447 Nov 28, 2023
98988db
Add info screen to icon store page
Core447 Nov 28, 2023
c778956
Add right margin to description labels in store info page
Core447 Nov 28, 2023
4590d0e
Add drag and drop support to asset manager
Core447 Nov 28, 2023
eb8cc69
Close AssetManager window after selection
Core447 Nov 28, 2023
104e641
Add localization to main screen
Core447 Nov 28, 2023
50f580c
Fix: Crash if plugin folder is missing
Core447 Nov 28, 2023
9971bff
Fix: Crash if Assets.json is missing
Core447 Nov 28, 2023
4da0555
Fix: Crash if Assets.json file path not present
Core447 Nov 28, 2023
6e28330
Fix: typo
Core447 Nov 28, 2023
8e74b7a
Fix: Crash if Assets.json not present
Core447 Nov 28, 2023
b1b03bc
Fix: Crash if pages dir misses
Core447 Nov 28, 2023
81bab29
Improve french translation
Core447 Nov 28, 2023
8546f21
Add hamburger menu to header bar
Core447 Nov 29, 2023
b909b0c
Create automatic page backups
Core447 Nov 30, 2023
9f76086
Add auto connect and disconnect
Core447 Nov 30, 2023
10c4e13
Add basic drag and drop to action manager
Core447 Dec 1, 2023
4eabba7
Update requirements.txt
Core447 Dec 1, 2023
fb9b6ae
Refactor code to stop page inheriting from dict
Core447 Dec 1, 2023
9b7e5c7
Add missing references for page dict
Core447 Dec 1, 2023
295fd3d
Fix: New actions not being added until restart
Core447 Dec 2, 2023
0ec9a67
Fix: Icon preview showing key of wrong deck
Core447 Dec 2, 2023
6b5544e
Fix: Same page on multiple decks not updating when adding or removing…
Core447 Dec 2, 2023
ac00e6f
Improve Page load_action_objects method
Core447 Dec 2, 2023
a488d99
Fix: Crash on key press
Core447 Dec 3, 2023
3e8fb05
Add copy paste actions to key buttons
Core447 Dec 3, 2023
c40cd51
Remove commented-out code from keygrid popover
Core447 Dec 3, 2023
510cccb
Add ui key press simulation on double click
Core447 Dec 3, 2023
d042454
Localize page settings
Core447 Dec 4, 2023
4be502d
Add shortcuts window
Core447 Dec 5, 2023
82ab0fb
Remove program exit on missing language key entry
Core447 Dec 5, 2023
2cec2a9
Add basic page manager
Core447 Dec 6, 2023
c618aab
Add EntryDialog to GtkHelper
Core447 Dec 7, 2023
5be97e4
Add new page function to PageManager
Core447 Dec 7, 2023
59c31ee
Fix: Error on loading empty page
Core447 Dec 7, 2023
b90abbc
Fix: Add new page changes active page
Core447 Dec 8, 2023
c16e8ef
Stop preloading AssetStore window
Core447 Dec 9, 2023
bf971da
Stop preloading store window
Core447 Dec 9, 2023
a3cc85e
Fix error if no deck connected
Core447 Dec 10, 2023
a691fd9
Show info label in header bar when no deck is connected
Core447 Dec 10, 2023
3a871df
Add settings window
Core447 Dec 11, 2023
3ca7c73
Add open store button to header bar menu
Core447 Dec 12, 2023
cbb30a9
Fix: Error if SettingsManager save is called for a file in project dir
Core447 Dec 12, 2023
80737cd
Store and load settings made by user in settings window
Core447 Dec 12, 2023
61a508f
Apply emulate key press at double click setting
Core447 Dec 12, 2023
b73cbdd
Add missing open-settings language key
Core447 Dec 12, 2023
1229552
Swtich from fake decks via arguments to setting in the ui
Core447 Dec 12, 2023
57ec218
Move settings.json into settings folder
Core447 Dec 12, 2023
4e557ae
Add restart hint to number of fake decks setting
Core447 Dec 12, 2023
d118831
Make no decks label in header bold
Core447 Dec 12, 2023
7f448a9
Fix: No key background in ui if no page wallpaper is selected
Core447 Dec 12, 2023
73e8b70
Add no connection error message to store
Core447 Dec 13, 2023
cdb685a
Remove old debug prints
Core447 Dec 14, 2023
9aeacf6
Combine install and uninstall button in store preview
Core447 Dec 15, 2023
a7a3d5d
Remove old PluginPreview class
Core447 Dec 15, 2023
2077d75
Fix: Installing plugins not updating page action indexes
Core447 Dec 15, 2023
89bd36b
Load first page if no deck default page was specified
Core447 Dec 15, 2023
346328e
Fix: Error if no background is set
Core447 Dec 15, 2023
eb2793f
Add update button to store previews
Core447 Dec 15, 2023
f6fef13
Update requirements.txt
Core447 Dec 15, 2023
5635f72
Get dev_core447_OSPlugin delay action to work
Core447 Dec 16, 2023
9dd57c7
Add install function to icon pack store page
Core447 Dec 17, 2023
84ecf5e
Add update function to icon pack store page
Core447 Dec 17, 2023
559d9eb
Add uninstall function to icon pack store page
Core447 Dec 17, 2023
db65164
Fix: Error on icon pack update
Core447 Dec 19, 2023
983b593
FIx: Icon page in store not showing correct install states
Core447 Dec 19, 2023
7827d0a
Refactor asset store
Core447 Dec 19, 2023
13f47ac
Add IconPackManager
Core447 Dec 21, 2023
8e401b4
Show icons from icon packs in asset selector window
Core447 Dec 21, 2023
8f22e22
Make icon pack icons selectable
Core447 Dec 22, 2023
4219896
Fix: AssetManager custom asset flow box not fully clearing
Core447 Dec 22, 2023
ae68ff3
Add missing typing for icon_pack_manager to globals
Core447 Dec 23, 2023
40e7c9c
Globalise copied actions across decks
Core447 Dec 23, 2023
27f2203
Add missing icon_pack_manager init
Core447 Dec 23, 2023
03d16f5
Implement search into page manager
Core447 Dec 23, 2023
2e80db4
Localize settings window
Core447 Dec 25, 2023
c4b6e4e
Update requirements.txt
Core447 Dec 26, 2023
c5bf947
Install plugin requirements on install
Core447 Dec 26, 2023
eff1c7d
Fix: Error in get_local_sha method of the store backend
Core447 Dec 26, 2023
7e1ae11
Disable debug save of cached store images
Core447 Dec 26, 2023
1691302
Add missing log import to CustomAssets Chooser
Core447 Dec 26, 2023
6a947a6
FIx: Crash on page load without keys key
Core447 Dec 27, 2023
a21f504
Allow pages in other folders than pages
Core447 Dec 27, 2023
d4e3ef0
Allow plugins to register their own pages
Core447 Dec 27, 2023
bd74f65
Fix: Changing pages not always reloading right area
Core447 Dec 28, 2023
b2ec4dc
Fix: Plugins cannot access managers
Core447 Dec 30, 2023
616d6bb
Move GtkHelper into own folder
Core447 Dec 30, 2023
8b3e9d7
Fix: Wrong GtkHelper import in ActionChooser
Core447 Dec 30, 2023
a5c294f
Fix: ActionBase storing coords as list of strings
Core447 Dec 30, 2023
3bf571b
Add pulsectl to requirements (used by OSPlugin)
Core447 Dec 30, 2023
d893bd3
Update requirement versions
Core447 Dec 30, 2023
6479e4c
Fix: Unnecessary page reloading caused by ui updates
Core447 Dec 30, 2023
6070506
Update PageManger window to support new path feature
Core447 Dec 30, 2023
56b7fa5
Fix: Wrong spelling of screensaver
Core447 Dec 30, 2023
2331a02
Fix: Error on page switch
Core447 Dec 30, 2023
028229a
Add notification signals for actions
Core447 Dec 30, 2023
06ac851
Inform plugins about page rename
Core447 Dec 30, 2023
a0c659d
Add page renaming dialog to PageManager window
Core447 Dec 30, 2023
c70830e
Add page modification signals
Core447 Dec 30, 2023
ca11ef6
Fix: PageManager search not working
Core447 Dec 31, 2023
957c04c
Add change page signal
Core447 Dec 31, 2023
e36047d
Improve redundency of get_settings_for_action method of Page
Core447 Dec 31, 2023
a753b51
Add fallback language to LocaleManager
Core447 Dec 31, 2023
c36c137
Add locale manager to plugin actions
Core447 Dec 31, 2023
5e3061d
Auto update assets on launch
Core447 Jan 1, 2024
8b53680
Respect auto update setting
Core447 Jan 1, 2024
8f81f99
Fix: Wrong store backend import name
Core447 Jan 1, 2024
a34749c
Add missing PluginInstall signal
Core447 Jan 1, 2024
c08ac6b
Add general use dynamic flow box
Core447 Jan 1, 2024
2e74452
Use new dynamic flow box for icon selector
Core447 Jan 1, 2024
bf5bbd8
Make icons from packs applicable
Core447 Jan 1, 2024
8627da5
Check if asset is official in StoreBackend
Core447 Jan 1, 2024
5f27b02
Add official and verified badge support to icon packs in the store
Core447 Jan 1, 2024
8b891d5
Fix: Async error in StoreBackend
Core447 Jan 1, 2024
5dc3dd3
Disable action ticks during screensaver
Core447 Jan 1, 2024
2ea7570
Fix: Crash on drag of new assets
Core447 Jan 1, 2024
230107a
Fix: Error while finding deck's default page if no pages available
Core447 Jan 1, 2024
5cc382b
Fix: Right area reload only doing partial reload
Core447 Jan 1, 2024
685d6c4
Fix: Page Settings Background Group overwrite switch not working
Core447 Jan 1, 2024
8a8db33
Fix: Error if deleting last page
Core447 Jan 1, 2024
3cb5604
Allow url file drops into asset chooser
Core447 Jan 2, 2024
f3ede7c
Add about dialog
Core447 Jan 2, 2024
739efb4
Reload dynamic flow box if sort gets invalidated
Core447 Jan 2, 2024
d81edf8
Fix: MediaHandler cannot access set_background_to_none from controller
Core447 Jan 2, 2024
c8ee206
Keep reference to fix_box of ChooserPage
Core447 Jan 2, 2024
466435c
Show all icons alphabetically in icon chooser page if search is empty
Core447 Jan 2, 2024
a632828
Change sort and filter order in IconChooser
Core447 Jan 2, 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
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,21 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# VSCode
.vscode/

# own folders
Assets/copyrighted/
Assets/AssetManager/Assets/

# App folders
cache/
plugins/
Assets/AssetManager/thumbnails/
Assets/AssetManager/Assets.json
pages/
settings/

# Keep .gitkeep files
!/**/.gitkeep
8 changes: 8 additions & 0 deletions Assets/Fonts/Attribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
List of default assets and their associated licenses:
The assets are located in the fonts and images folders

- Roboto-Regular.ttf

Source/Author: Roboto Font by Google
Licence: Apache License 2.0
URL: https://fonts.google.com/specimen/Roboto
Binary file added Assets/Fonts/Roboto-Regular.ttf
Binary file not shown.
202 changes: 202 additions & 0 deletions Assets/LICENSES/Apache2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
10 changes: 10 additions & 0 deletions Assets/attribution.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"attributon": [
{
"path": "Assets/Fonts/Roboto-Regular.ttf",
"author": "Google",
"license-name": "Apache 2.0",
"license-url": "http://www.apache.org/licenses/LICENSE-2.0"
}
]
}
4 changes: 4 additions & 0 deletions Assets/images/Attribution.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- multi_action.png:
- source: fonts.google.com
- licence: Apache License 2.0
- licence_link: https://www.apache.org/licenses/LICENSE-2.0
Binary file added Assets/images/multi_action.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading