Mockup video and program

main
gutsywatts 2024-09-28 02:33:18 -07:00
commit 3a9baaa0ad
109 changed files with 5045 additions and 0 deletions

BIN
2024-09-28 01-49-26.mkv Normal file

Binary file not shown.

2
chromiummockup/.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

3
chromiummockup/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Godot 4+ specific ignores
.godot/
/android/

203
chromiummockup/GUI.gd Normal file
View File

@ -0,0 +1,203 @@
extends Control
# Name of the browser
const browser_name = "browser"
# Page with sound
# "https://www.programmes-radio.com/fr/stream-e8BxeoRhsz9jY9mXXRiFTE/ecouter-KPJK"
const RADIO_URL = "http://streaming.radio.co/s9378c22ee/listen"
const HOME_URL = "https://www.google.com/"
# Memorize if the mouse was pressed
@onready var mouse_pressed : bool = false
# ==============================================================================
# Home button pressed: get the browser node and load a new page.
# ==============================================================================
func _on_Home_pressed():
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.load_url(HOME_URL)
pass
# ==============================================================================
# Go to previously visited page
# ==============================================================================
func _on_Prev_pressed():
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.previous_page()
pass
# ==============================================================================
# Go to next page
# ==============================================================================
func _on_Next_pressed():
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.next_page()
pass
# ==============================================================================
# Callback when a page has ended to load: we print a message
# ==============================================================================
func _on_page_loaded(node):
$CEF/Panel/Label.set_text(node.name + ": page " + node.get_url() + " loaded")
# ==============================================================================
# Callback when a page has ended to load with failure.
# Display a load error message using a data: URI.
# ==============================================================================
func _on_page_failed_loading(err_code, err_msg, node):
if err_code == -3:
return
push_error("The browser " + node.name + " failed loading " + \
node.get_url() + ": " + err_msg)
pass
# ==============================================================================
# On new URL entered
# ==============================================================================
func _on_TextEdit_text_changed(new_text):
var browser = $CEF.get_node(browser_name)
if browser == null:
$CEF/Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.load_url(new_text)
# ==============================================================================
# Get mouse events and broadcast them to CEF
# ==============================================================================
func _on_TextureRect_gui_input(event):
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
browser.set_mouse_wheel_vertical(2)
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
browser.set_mouse_wheel_vertical(-2)
elif event.button_index == MOUSE_BUTTON_LEFT:
mouse_pressed = event.pressed
if mouse_pressed:
browser.set_mouse_left_down()
else:
browser.set_mouse_left_up()
elif event.button_index == MOUSE_BUTTON_RIGHT:
mouse_pressed = event.pressed
if mouse_pressed:
browser.set_mouse_right_down()
else:
browser.set_mouse_right_up()
else:
mouse_pressed = event.pressed
if mouse_pressed:
browser.set_mouse_middle_down()
else:
browser.set_mouse_middle_up()
elif event is InputEventMouseMotion:
if mouse_pressed == true :
browser.set_mouse_left_down()
browser.set_mouse_moved(event.position.x, event.position.y)
pass
# ==============================================================================
# Make the CEF browser reacts from keyboard events.
# ==============================================================================
func _input(event):
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
if event is InputEventKey:
browser.set_key_pressed(
event.unicode if event.unicode != 0 else event.keycode, # Godot3: event.scancode,
event.pressed, event.shift_pressed, event.alt_pressed, event.is_command_or_control_pressed())
pass
# ==============================================================================
# Create a single briwser named "browser_name" that is attached as child node to $CEF.
# ==============================================================================
func _ready():
print("These are the CEF's")
print($CEF/Panel)
print($CEF)
print(typeof($CEF))
# See API.md for more details. CEF Configuration is:
# resource_path := {"artifacts", CEF_ARTIFACTS_FOLDER}
# resource_path := {"exported_artifacts", application_real_path()}
# {"incognito":false}
# {"cache_path", resource_path / "cache"}
# {"root_cache_path", resource_path / "cache"}
# {"browser_subprocess_path", resource_path / SUBPROCESS_NAME }
# {"log_file", resource_path / "debug.log"}
# {log_severity", "warning"}
# {"remote_debugging_port", 7777}
# {"exception_stack_size", 5}
# {"enable_media_stream", false}
#
# Configurate CEF. In incognito mode cache directories not used and in-memory
# caches are used instead and no data is persisted to disk.
#
# artifacts: allows path such as "build" or "res://cef_artifacts/". Note that "res://"
# will use ProjectSettings.globalize_path but exported projects don't support globalize_path:
# https://docs.godotengine.org/en/3.5/classes/class_projectsettings.html#class-projectsettings-method-globalize-path
if !$CEF.initialize({"incognito":true, "locale":"en-US"}):
var error = $CEF.get_error()
push_error($CEF.get_error())
push_error("CEF initialization failed: " + error)
get_tree().quit()
return
print("CEF version: " + $CEF.get_full_version())
# Wait one frame for the texture rect to get its size
await get_tree().process_frame
# See API.md for more details. Browser configuration is:
# {"frame_rate", 30}
# {"javascript", true}
# {"javascript_close_windows", false}
# {"javascript_access_clipboard", false}
# {"javascript_dom_paste", false}
# {"image_loading", true}
# {"databases", true}
# {"webgl", true}
var browser = $CEF.create_browser(RADIO_URL, $CEF/Panel/TextureRect, {"javascript":true})
browser.name = browser_name
browser.connect("on_page_loaded", _on_page_loaded)
browser.connect("on_page_failed_loading", _on_page_failed_loading)
browser.set_zoom_level(0.05)
# 3D sound
get_tree().get_root().print_tree_pretty()
var player = get_node("/root/GUIin3D/Node3D/Control/CEF/Panel/AudioStreamPlayer2D")
player.stream = AudioStreamGenerator.new()
player.stream.set_buffer_length(1)
player.playing = true
browser.audio_stream = player.get_stream_playback()
pass
# ==============================================================================
# $CEF is periodically updated
# ==============================================================================
func _process(_delta):
pass
func _on_texture_rect_gui_input(event: InputEvent) -> void:
pass # Replace with function body.
func TextEdit_text_changed() -> void:
pass # Replace with function body.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
{"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"updateclientdata":{"apps":{"oimompecagnajdejgnnjijobebaeigek":{"cohort":"1:288r:","cohortname":"4.10.2830.0 to Linux (M116+)","dlrc":6480,"fp":"1.440875847b5cd49226587533608d33de7de4e906f446a63828cc3321a37db13e","installdate":6479,"max_pv":"0.0.0.0","pf":"bb42e117-f535-4a90-b1b7-f76b73e65a26","pv":"4.10.2830.0"}}}}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
14310458625147186186

View File

@ -0,0 +1 @@
fedora-7754

View File

@ -0,0 +1 @@
/tmp/.org.chromium.Chromium.q2qPVF/SingletonSocket

View File

@ -0,0 +1,9 @@
Google LLC and its affiliates ("Google") own all legal right, title and
interest in and to the content decryption module software ("Software") and
related documentation, including any intellectual property rights in the
Software. You may not use, modify, sell, or otherwise distribute the Software
without a separate license agreement with Google. The Software is not open
source software.
If you are interested in licensing the Software, please contact
www.widevine.com

View File

@ -0,0 +1 @@
[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJMSUNFTlNFIiwicm9vdF9oYXNoIjoicjdVVTVDYVZsQ05MTXNoenVpelR6SWlTNkRhR0VUZTFNYVFLRWpLQ0RGayJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy9saW51eF94NjQvbGlid2lkZXZpbmVjZG0uc28iLCJyb290X2hhc2giOiJWRUVUVDdsNGlSMUJRbGxoWEZ4R1VCY2VIQ0xjOWJzYUdmc0swSjV5bk9vIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6ImJkcXBfOGpRSjJIc0FjeHh1RmpwSmhqdVk4OWp6M2F0REhIdUhnU3IzaHcifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJvaW1vbXBlY2FnbmFqZGVqZ25uamlqb2JlYmFlaWdlayIsIml0ZW1fdmVyc2lvbiI6IjQuMTAuMjgzMC4wIiwicHJvdG9jb2xfdmVyc2lvbiI6MX0","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"osSyZ2MjWgrIcTETnhRu8MxCjVcrTT83atZkEoFzn2TIZfqC0lBzAz3pHaxzrxMDC80bzO2erzZtuYZqQ_Y7F4pRSLU3LnaQMjOfVc3zF8jAtpUIGVODALu85MrwfNS9AcDuSS22LB9CoanmKjX9A6Uk9OfL02YFOK88hzmAzkY"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"FCFfT17WSoc0WS2F5iH3Il3-9OjUicFuPbX6Uc0BtcRemj_5WaFZCBwu1mYnY8EfKcHrWarOTGw_otnVh95uYK-k5rhKFbJfEOq6EbEhBMCAMmj3MbBRgjiQ0kfr04dH_d8oZXQ3789zZSwVMqgnmpgl3Anjss6X1T_fNMDvqDsJIDyMdHpSkBZlTyWfQiiR89vSX5dMw2YA4WSqe-k99i5BFpK8EZAZPJvobq6hubEoHEDJaktts1dym3zHqNQP-t_ElIXVjPBW8jHWJ8h_VWYk-28zacUGWMQqdmRTpHSbAIWQirxWlHKU-oHLmem2Idsh4sLyYv0oGo3-VY4lIg"}]}}]

View File

@ -0,0 +1 @@
1.440875847b5cd49226587533608d33de7de4e906f446a63828cc3321a37db13e

View File

@ -0,0 +1,33 @@
{
"manifest_version": 2,
"update_url": "https://clients2.google.com/service/update2/crx",
"name": "WidevineCdm",
"description": "Widevine Content Decryption Module",
"version": "4.10.2830.0",
"minimum_chrome_version": "68.0.3430.0",
"x-cdm-module-versions": "4",
"x-cdm-interface-versions": "10",
"x-cdm-host-versions": "10",
"x-cdm-codecs": "vp8,vp09,avc1,av01",
"x-cdm-persistent-license-support": false,
"x-cdm-supported-encryption-schemes": [
"cenc",
"cbcs"
],
"icons": {
"16": "imgs/icon-128x128.png",
"128": "imgs/icon-128x128.png"
},
"platforms": [
{
"os": "linux",
"arch": "x64",
"sub_package_path": "_platform_specific/linux_x64/"
},
{
"os": "linux",
"arch": "arm64",
"sub_package_path": "_platform_specific/linux_arm64/"
}
]
}

View File

@ -0,0 +1 @@
{"Path":"/home/gutsuwatsu/chromiummockup/cef_artifacts/cache/WidevineCdm/4.10.2830.0"}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
[configuration]
entry_symbol = "gdcef_library_init"
compatibility_minimum = 4.1
[libraries]
linux.x86_64.debug = "res://cef_artifacts/libgdcef.so"
linux.x86_64.release = "res://cef_artifacts/libgdcef.so"
linux.x86_32.debug = "res://cef_artifacts/libgdcef.so"
linux.x86_32.release = "res://cef_artifacts/libgdcef.so"
windows.x86_64.debug = "res://cef_artifacts/libgdcef.dll"
windows.x86_64.release = "res://cef_artifacts/libgdcef.dll"
windows.x86_32.debug = "res://cef_artifacts/libgdcef.dll"
windows.x86_32.release = "res://cef_artifacts/libgdcef.dll"
macos.debug = "res://cef_artifacts/Frameworks/Chromium\ Embedded\ Framework.framework/Libraries/libgdcef.dylib"
macos.release = "res://cef_artifacts/Frameworks/Chromium\ Embedded\ Framework.framework/Libraries/libgdcef.dylib"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More