From 626f299dd3512d44df4bcf95fc7a21b9417c06b0 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Tue, 22 Oct 2024 18:11:37 -0400 Subject: Various fixes, doc cleanup Signed-off-by: Andrew Opalach --- doc/database.txt | 45 ------ doc/design.dia | 224 +++++++++++++++++----------- doc/design.txt | 15 +- doc/design_diagram.svg | 43 +++--- doc/network_independent_audio_pause.kra | Bin 1129580 -> 1332660 bytes doc/network_independent_audio_pause.png | Bin 213662 -> 148138 bytes doc/pal_vs_ntsc_aspect_ratio.png | Bin 72101 -> 0 bytes doc/references.txt | 64 -------- doc/references/pal_vs_ntsc_aspect_ratio.png | Bin 0 -> 72101 bytes doc/references/references.txt | 64 ++++++++ doc/style.css | 4 +- 11 files changed, 237 insertions(+), 222 deletions(-) delete mode 100644 doc/database.txt delete mode 100644 doc/pal_vs_ntsc_aspect_ratio.png delete mode 100644 doc/references.txt create mode 100644 doc/references/pal_vs_ntsc_aspect_ratio.png create mode 100644 doc/references/references.txt (limited to 'doc') diff --git a/doc/database.txt b/doc/database.txt deleted file mode 100644 index 0d2afa2..0000000 --- a/doc/database.txt +++ /dev/null @@ -1,45 +0,0 @@ -= CAMU Database (Archive) - -Types of Media for Consideration --------------------------------- -- Music - - Singles - - Albums - - Music Videos - - Playlists (Single/Split file(s)) - - Video Game OST (ripped) - - CD - -- Video - - Movies/TV Shows - - Youtube Channels/Videos - - DVD/Blu-ray - -- Art - - Artists - - Twitter/Pixiv Profiles - -- Games - - Steam Games - - Roms - - Achievements - - Time Tracking - -Database --------- -* Tied to a single directory on the filesystem -* index.json -* Easily referenced external files. -** external: - -Database-specific Types ------------------------ -Collection -~~~~~~~~~~ -A defined set of resources that may be stored either too loose or too bundled than desired. The exact parameters that qualify a set of resources to become a collection is up to the database owner. A general rule of thumb should be that the relationship of the resources in a collection should be externally defined and commonly agreed upon. You may also want to consider if that relationship is "official" or legally defined, whatever that would mean for your case. -Examples -^^^^^^^^ -* A music album where each file is a track. -* An art book part of a larger zip archive with multiple other resources/collections. - -// vim: set syntax=asciidoc: diff --git a/doc/design.dia b/doc/design.dia index cd3c41b..e78aeca 100644 --- a/doc/design.dia +++ b/doc/design.dia @@ -94,6 +94,8 @@ + + @@ -212,52 +214,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -302,7 +259,7 @@ - + @@ -347,7 +304,7 @@ - + @@ -380,7 +337,7 @@ - + @@ -425,7 +382,7 @@ - + @@ -440,7 +397,7 @@ - + @@ -464,7 +421,7 @@ - + @@ -497,26 +454,26 @@ - + - + - + - #Tree (server)# + #Server# - + - + @@ -530,7 +487,7 @@ - + @@ -557,7 +514,7 @@ - + @@ -602,7 +559,7 @@ - + @@ -647,7 +604,7 @@ - + @@ -692,7 +649,7 @@ - + @@ -710,16 +667,16 @@ - + - + - + - - + + @@ -746,7 +703,7 @@ - + @@ -779,7 +736,7 @@ - + @@ -824,7 +781,7 @@ - + @@ -842,7 +799,7 @@ - + @@ -860,7 +817,7 @@ - + @@ -878,12 +835,12 @@ - + - + - + @@ -897,7 +854,7 @@ - + @@ -914,17 +871,17 @@ - + - + - + - #BIMU™ (ビム) Stream# + #Synced Stream (liana)# @@ -933,7 +890,7 @@ - + @@ -950,7 +907,7 @@ - + @@ -983,7 +940,7 @@ - + @@ -1016,5 +973,104 @@ + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #The Internet# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #You# + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/design.txt b/doc/design.txt index 95d8b48..ef98961 100644 --- a/doc/design.txt +++ b/doc/design.txt @@ -8,8 +8,7 @@ Breif on Components ------------------- Server ~~~~~~ -The "server" is the main hub responsible for all handling user account related functions and state, as well -as managing the network of all other individual components. +The server is the main hub responsible for all handling user account related functions and state, as well as managing the network of all other individual components. User Accounts ^^^^^^^^^^^^^ @@ -25,15 +24,15 @@ Users accounts contain 4 main concepts: lists, media lists, history, and setting Node ~~~~ -Nodes can be seen as distributed resource managers for the server. They each contain up to 3 main parts: A source manager and/or database, and a resource host. A node can have one or both of a source manager and database but a node without either is useless. +Nodes can be seen as distributed resource managers for the server. They each contain up to 3 main parts: A source manager and/or database, then a resource host. A node can have one or both of a source manager and database but a node without either is useless. Source Manager ^^^^^^^^^^^^^^ -A source manager implements any or all of browsing, searching, and custom resource actions. A big point of a source manager is to be able to work entirely behind a proxy. Some examples of sources include a social media website, filesystem directory, dvd drive, or radio antenna. An example of browsing could be apple music's "New Music". An example of searching, youtube search. A custom action could be liking a post on twitter. +A source manager implements any or all of browsing, searching, and custom resource actions. A big point of a source manager is to be able to work entirely behind a proxy. Some examples of sources may include a social media website, filesystem directory, dvd drive, or radio antenna. An example of browsing could be apple music's "New Music". An example of searching, youtube search. A custom action could be liking a post on twitter. Database ^^^^^^^^ -Stores resources locally along with as much metadata as possible. Simply used to retrive resources locally instead of going through the source manager. +Stores resources along with as much metadata as possible. Simply used to retrive resources locally instead of going through the source manager. Resource Host ^^^^^^^^^^^^^ @@ -41,7 +40,7 @@ Hosts node-local resources for the server to use for streaming. Should support a Client ~~~~~~ -Clients are only way a user interacts with the reset of the network besides the special case of play/pause/seek which can also be done from a sink. +Clients are the only way a user interacts with the rest of the network besides the special case of play, pause, skip and seek which can be done from a sink. libclient ^^^^^^^^^ @@ -49,10 +48,10 @@ C library that integrates with the rest of the code-base to abstract communicati Sink ~~~~ -A sink's only purpose is to be a minimal yet optimal way to view the entries in a list. +A sink's only purpose is to be a minimal, yet optimal, way to view the entries in a list. libsink ^^^^^^^ -C library that abstracts communicating with the server as a sink in a platform- and environment-independent way. It makes no assumptions about what kind of device (physical or otherwise) it's running on or outputting to. +C library that abstracts communicating with the server as a sink in a platform- and environment-independent way. // vim: set syntax=asciidoc: diff --git a/doc/design_diagram.svg b/doc/design_diagram.svg index 1c2ed04..693b086 100644 --- a/doc/design_diagram.svg +++ b/doc/design_diagram.svg @@ -1,6 +1,8 @@ - + + + @@ -81,12 +83,6 @@ - - - - - - @@ -387,15 +383,15 @@ - - - + + + Sink (libsink) - - Tree (server) + + Server @@ -466,9 +462,9 @@ - - - + + + Node @@ -487,11 +483,11 @@ - - Remote Resource + + Remote Resource - - BIMU™ (ビム) Stream + + Synced Stream (liana) @@ -499,5 +495,14 @@ System Interface + + + + + The Internet + + + You + diff --git a/doc/network_independent_audio_pause.kra b/doc/network_independent_audio_pause.kra index c0e39de..91b391e 100644 Binary files a/doc/network_independent_audio_pause.kra and b/doc/network_independent_audio_pause.kra differ diff --git a/doc/network_independent_audio_pause.png b/doc/network_independent_audio_pause.png index b5aa516..8e696e2 100644 Binary files a/doc/network_independent_audio_pause.png and b/doc/network_independent_audio_pause.png differ diff --git a/doc/pal_vs_ntsc_aspect_ratio.png b/doc/pal_vs_ntsc_aspect_ratio.png deleted file mode 100644 index e570f70..0000000 Binary files a/doc/pal_vs_ntsc_aspect_ratio.png and /dev/null differ diff --git a/doc/references.txt b/doc/references.txt deleted file mode 100644 index 702f7eb..0000000 --- a/doc/references.txt +++ /dev/null @@ -1,64 +0,0 @@ -:stylesheet: style.css - -= References - -Video ------ -Vsync/VRR -~~~~~~~~~ -* https://github.com/swaywm/sway/issues/5076 -* https://en.wikipedia.org/wiki/Motion_interpolation -* https://gamedev.stackexchange.com/questions/82318/what-problem-does-double-or-triple-buffering-solve-in-modern-games - - Good explanation of vsync and multiple buffering -* https://linustechtips.com/topic/1508075-no-vsync-with-no-screen-tearing-possible/?do=findComment&comment=15948456 -* https://forums.tomshardware.com/threads/games-screen-tearing-without-vsync.3272775/post-20062033 -* Current understanding of vsync and tearing: - - Vsync operates on an interupt. - - You cannot avoid tearing without vsync. - - VRR is completely ineffective outside of the display's supported range. - - A higher fps and refresh rate while tearing will be less noticable. -* https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/14/ -* https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/15/ -* https://old.reddit.com/r/Amd/comments/4ypw5k/freesync_is_so_fcking_awesome/d6zl13v/ - -Latency/Present -~~~~~~~~~~~~~~~ -* https://themaister.net/blog/2023/11/12/my-scuffed-game-streaming-adventure-pyrofling/ - -Old Video Standards Stuff -~~~~~~~~~~~~~~~~~~~~~~~~~ -* https://en.wikipedia.org/wiki/24p -* https://en.wikipedia.org/wiki/Three-two_pull_down -* https://cinematography.com/index.php?/forums/topic/71346-why-23976-and-not-24-fps/&tab=comments#comment-455454 -* https://forum.doom9.org/archive/index.php/t-163655.html -* https://en.wikipedia.org/wiki/pixel_aspect_ratio -* https://en.wikipedia.org/wiki/display_aspect_ratio - - PAL and NTSC are both supposed to be displayed on 4:3 physical aspect ratio screens even though they are internally different aspect ratios and resolutions. The difference is the size of the "pixel" (PAL has more, shorter scanlines). - image:pal_vs_ntsc_aspect_ratio.png[PalVsNtsc,1100] -* https://en.wikipedia.org/wiki/Anamorphic_widescreen - -Python ------- -* https://stackoverflow.com/questions/38243682/whats-the-standard-way-to-package-a-python-project-with-dependencies - -Audio ------ -Formats -~~~~~~~ -* https://github.com/derselbst/ANMP -* https://slack.net/~ant/libs/audio.html#Game_Music_Emu - -Drivers -~~~~~~~ -* https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/plugins/alsa/test-timer.c -* https://stackoverflow.com/questions/41263580/what-exactly-does-alsas-snd-pcm-delay-return -* https://stackoverflow.com/questions/24040672/the-meaning-of-period-in-alsa - -Interface ---------- -Terminal -~~~~~~~~ -* https://www.amp-what.com/ -* https://www.unicode.org/charts/beta/nameslist/n_2B00.html - -// vim: set syntax=asciidoc: diff --git a/doc/references/pal_vs_ntsc_aspect_ratio.png b/doc/references/pal_vs_ntsc_aspect_ratio.png new file mode 100644 index 0000000..e570f70 Binary files /dev/null and b/doc/references/pal_vs_ntsc_aspect_ratio.png differ diff --git a/doc/references/references.txt b/doc/references/references.txt new file mode 100644 index 0000000..fafba93 --- /dev/null +++ b/doc/references/references.txt @@ -0,0 +1,64 @@ +:stylesheet: ../style.css + += References + +Video +----- +Vsync/VRR +~~~~~~~~~ +* https://github.com/swaywm/sway/issues/5076 +* https://en.wikipedia.org/wiki/Motion_interpolation +* https://gamedev.stackexchange.com/questions/82318/what-problem-does-double-or-triple-buffering-solve-in-modern-games + - Good explanation of vsync and multiple buffering +* https://linustechtips.com/topic/1508075-no-vsync-with-no-screen-tearing-possible/?do=findComment&comment=15948456 +* https://forums.tomshardware.com/threads/games-screen-tearing-without-vsync.3272775/post-20062033 +* Current understanding of vsync and tearing: + - Vsync operates on an interupt. + - You cannot avoid tearing without vsync. + - VRR is completely ineffective outside of the display's supported range. + - A higher fps and refresh rate while tearing will be less noticable. +* https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/14/ +* https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/15/ +* https://old.reddit.com/r/Amd/comments/4ypw5k/freesync_is_so_fcking_awesome/d6zl13v/ + +Latency/Present +~~~~~~~~~~~~~~~ +* https://themaister.net/blog/2023/11/12/my-scuffed-game-streaming-adventure-pyrofling/ + +Old Video Standards Stuff +~~~~~~~~~~~~~~~~~~~~~~~~~ +* https://en.wikipedia.org/wiki/24p +* https://en.wikipedia.org/wiki/Three-two_pull_down +* https://cinematography.com/index.php?/forums/topic/71346-why-23976-and-not-24-fps/&tab=comments#comment-455454 +* https://forum.doom9.org/archive/index.php/t-163655.html +* https://en.wikipedia.org/wiki/pixel_aspect_ratio +* https://en.wikipedia.org/wiki/display_aspect_ratio + - PAL and NTSC are both supposed to be displayed on 4:3 physical aspect ratio screens even though they are internally different aspect ratios and resolutions. The difference is the size of the "pixel" (PAL has more, shorter scanlines). + image:pal_vs_ntsc_aspect_ratio.png[PalVsNtsc,1100] +* https://en.wikipedia.org/wiki/Anamorphic_widescreen + +Python +------ +* https://stackoverflow.com/questions/38243682/whats-the-standard-way-to-package-a-python-project-with-dependencies + +Audio +----- +Formats +~~~~~~~ +* https://github.com/derselbst/ANMP +* https://slack.net/~ant/libs/audio.html#Game_Music_Emu + +Drivers +~~~~~~~ +* https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/plugins/alsa/test-timer.c +* https://stackoverflow.com/questions/41263580/what-exactly-does-alsas-snd-pcm-delay-return +* https://stackoverflow.com/questions/24040672/the-meaning-of-period-in-alsa + +Interface +--------- +Terminal +~~~~~~~~ +* https://www.amp-what.com/ +* https://www.unicode.org/charts/beta/nameslist/n_2B00.html + +// vim: set syntax=asciidoc: diff --git a/doc/style.css b/doc/style.css index bc6ed15..e52223b 100644 --- a/doc/style.css +++ b/doc/style.css @@ -1,7 +1,7 @@ body { font-family: serif; margin: 1em 45% 1em 5%; - background-color: #f4ddca + background-color: #fef9fa; } h3 { @@ -9,5 +9,5 @@ h3 { } strong { - color: #543e41; + color: #423152; } -- cgit v1.2.3-101-g0448