Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@

| Android | iOS | Windows | GNU/Linux | MacOS |
| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [arm64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-android-arm64-v8a-release.apk) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id1555805139) | [Windows Setup](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-windows-setup.exe) | [SnapStore](https://snapcraft.io/bluecherry-client) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id6474160553) |
| [armabi `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-android-armeabi-v7a-release.apk) | | 🚧 **SOON** ~~`winget install bluecherry`~~ | [Ubuntu/Debian `.deb`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-linux-x86_64.deb) | |
| [x86_64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-android-x86_64-release.apk) | | 🚧 **SOON** ~~Microsoft Store~~ | [Raw Executable `.tar.gz`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-linux-x86_64.tar.gz) | |
| 🚧 **SOON** ~~Play Store~~ | | | [Fedora/Red Hat Linux `.rpm`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta22/bluecherry-linux-x86_64.rpm) | |
| [arm64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-android-arm64-v8a-release.apk) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id1555805139) | [Windows Setup](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-windows-setup.exe) | [SnapStore](https://snapcraft.io/bluecherry-client) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id6474160553) |
| [armabi `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-android-armeabi-v7a-release.apk) | | 🚧 **SOON** ~~`winget install bluecherry`~~ | [Ubuntu/Debian `.deb`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-linux-x86_64.deb) | |
| [x86_64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-android-x86_64-release.apk) | | 🚧 **SOON** ~~Microsoft Store~~ | [Raw Executable `.tar.gz`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-linux-x86_64.tar.gz) | |
| 🚧 **SOON** ~~Play Store~~ | | | [Fedora/Red Hat Linux `.rpm`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta23/bluecherry-linux-x86_64.rpm) | |

Or download the latest release [here](https://github.com/bluecherrydvr/unity/releases/tag/bleeding_edge)*.

Expand Down
6 changes: 2 additions & 4 deletions USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This document explains how to use the Bluecherry Client and list all its feature
- [Connecting to the server](#connecting-to-the-server)
- [Viewing cameras](#viewing-cameras)
- [PTZ](#ptz)
- [`beta` Matrix zoom](#beta-matrix-zoom)
- [Matrix zoom](#matrix-zoom)
- [Layouts](#layouts)
- [Multiple Layout](#multiple-layout)
- [Compact layout](#compact-layout)
Expand Down Expand Up @@ -89,12 +89,10 @@ The PTZ movements are scheduled and will be executed after the previous movement
> [!Important]
> PTZ zoom is not supported on mobile devices. See [this issue](https://github.com/bluecherrydvr/unity/issues/107).

## [beta] Matrix zoom
## Matrix zoom

The matrix view is a feature that allows you to zoom into a camera inside a pre defined grid. This is useful in the event you have one stream that provides a grid of cameras (4x4 for example). This works better for cameras with larger resolutions

To enable it, go to `Settings` -> `Updates` -> `Beta Features` -> `Matrix view zoom`.

![Matrix view](./screenshots/cameras/matrix-zoom.gif)

## Layouts
Expand Down
5 changes: 5 additions & 0 deletions bluecherry_appcast.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
<channel>
<title>Bluecherry - Appcast</title>
<item>
<title>Version 3.0.0-beta23</title>
<description>Secondary screens, oldest event and crash fixes</description>
<pubDate>Mon, 28 Apr 2025</pubDate>
</item>
<item>
<title>Version 3.0.0-beta22</title>
<description>Download Events in bulk and Layout Improvements</description>
Expand Down
2 changes: 1 addition & 1 deletion installer/windows-installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Bluecherry DVR"
#define MyAppVersion "3.0.0-beta22"
#define MyAppVersion "3.0.0-beta23"
#define MyAppPublisher "Bluecherry DVR"
#define MyAppURL "https://www.bluecherrydvr.com/"
#define MyAppExeName "bluecherry_client.exe"
Expand Down
2 changes: 1 addition & 1 deletion linux/debian/DEBIAN/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: bluecherrydvr
Version: 3.0.0-beta22
Version: 3.0.0-beta23
Section: base
Priority: optional
Homepage: https://www.bluecherrydvr.com/
Expand Down
1 change: 1 addition & 0 deletions linux/debian/usr/share/metainfo/bluecherry.appdata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
<launchable type="desktop-id">bluecherrydvr.desktop</launchable>
<releases>
<!-- <release version="VERSION" date="YYYY-MM-DD" />| -->
<release version="3.0.0-beta23" date="2025-04-28" />|
<release version="3.0.0-beta22" date="2025-01-19" />|
<release version="3.0.0-beta21" date="2024-12-30" />|
<release version="3.0.0-beta20" date="2024-11-18" />|
Expand Down
2 changes: 1 addition & 1 deletion linux/rpm/bluecherry.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: bluecherrydvr
Version: 3.0.0_beta22
Version: 3.0.0_beta23
Release: 1
Summary: Bluecherry client written in Flutter.
License: EULA
Expand Down
23 changes: 23 additions & 0 deletions packages/pub_resolver.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,12 @@ void main() async {
print('Running pub upgrade in all packages:');
await Future.wait(packagePaths.map(_runPubUpgrade));

print('Running dart format in all packages:');
await Future.wait(packagePaths.map(_runDartFormat));

await _runPubGet('.');
await _runPubUpgrade('.');
await _runDartFormat('.');

print('All done');
}
Expand Down Expand Up @@ -65,3 +69,22 @@ Future<void> _runPubUpgrade(String packagePath) async {
throw Exception('Failed to run pub upgrade in $packagePath');
}
}

Future<void> _runDartFormat(String packagePath) async {
void printLine(String line) {
if (line.isNotEmpty) print('[$packagePath] $line');
}

final process = await Process.start(
'dart',
['format', '.'],
workingDirectory: packagePath,
runInShell: true,
);
process.stdout.transform(utf8.decoder).listen(printLine);
process.stderr.transform(utf8.decoder).listen(printLine);
final exitCode = await process.exitCode;
if (exitCode != 0) {
throw Exception('Failed to run pub upgrade in $packagePath');
}
}
86 changes: 43 additions & 43 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: "7fd72d77a7487c26faab1d274af23fb008763ddc10800261abbfb2c067f183d5"
sha256: de9ecbb3ddafd446095f7e833c853aff2fa1682b017921fe63a833f9d6f0e422
url: "https://pub.dev"
source: hosted
version: "1.3.53"
version: "1.3.54"
animations:
dependency: "direct main"
description:
Expand Down Expand Up @@ -53,10 +53,10 @@ packages:
dependency: transitive
description:
name: archive
sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12"
sha256: a7f37ff061d7abc2fcf213554b9dcaca713c5853afa5c065c44888bc9ccaf813
url: "https://pub.dev"
source: hosted
version: "4.0.5"
version: "4.0.6"
args:
dependency: "direct main"
description:
Expand Down Expand Up @@ -277,10 +277,10 @@ packages:
dependency: "direct main"
description:
name: firebase_core
sha256: f4d8f49574a4e396f34567f3eec4d38ab9c3910818dec22ca42b2a467c685d8b
sha256: "017d17d9915670e6117497e640b2859e0b868026ea36bf3a57feb28c3b97debe"
url: "https://pub.dev"
source: hosted
version: "3.12.1"
version: "3.13.0"
firebase_core_platform_interface:
dependency: transitive
description:
Expand All @@ -293,34 +293,34 @@ packages:
dependency: transitive
description:
name: firebase_core_web
sha256: faa5a76f6380a9b90b53bc3bdcb85bc7926a382e0709b9b5edac9f7746651493
sha256: "129a34d1e0fb62e2b488d988a1fc26cc15636357e50944ffee2862efe8929b23"
url: "https://pub.dev"
source: hosted
version: "2.21.1"
version: "2.22.0"
firebase_messaging:
dependency: "direct main"
description:
name: firebase_messaging
sha256: "5fc345c6341f9dc69fd0ffcbf508c784fd6d1b9e9f249587f30434dd8b6aa281"
sha256: "5f8918848ee0c8eb172fc7698619b2bcd7dda9ade8b93522c6297dd8f9178356"
url: "https://pub.dev"
source: hosted
version: "15.2.4"
version: "15.2.5"
firebase_messaging_platform_interface:
dependency: transitive
description:
name: firebase_messaging_platform_interface
sha256: a935924cf40925985c8049df4968b1dde5c704f570f3ce380b31d3de6990dd94
sha256: "0bbea00680249595fc896e7313a2bd90bd55be6e0abbe8b9a39d81b6b306acb6"
url: "https://pub.dev"
source: hosted
version: "4.6.4"
version: "4.6.5"
firebase_messaging_web:
dependency: transitive
description:
name: firebase_messaging_web
sha256: fafebf6a1921931334f3f10edb5037a5712288efdd022881e2d093e5654a2fd4
sha256: ffb392ce2a7e8439cd0a9a80e3c702194e73c927e5c7b4f0adf6faa00b245b17
url: "https://pub.dev"
source: hosted
version: "3.10.4"
version: "3.10.5"
fixnum:
dependency: transitive
description:
Expand Down Expand Up @@ -367,10 +367,10 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3"
sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
url: "https://pub.dev"
source: hosted
version: "2.0.27"
version: "2.0.28"
flutter_secure_storage:
dependency: "direct main"
description:
Expand Down Expand Up @@ -457,10 +457,10 @@ packages:
dependency: transitive
description:
name: fvp
sha256: "724802f4c3f4d22cd2913356e91208096ba5aaab1db71c9e12b66bef4cf6f799"
sha256: "895421eafcb14c3f66fed24b20b6421e45711224d0df29ecd7b8bdb37a867f69"
url: "https://pub.dev"
source: hosted
version: "0.31.0"
version: "0.31.2"
get_it:
dependency: transitive
description:
Expand Down Expand Up @@ -489,10 +489,10 @@ packages:
dependency: transitive
description:
name: html
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
sha256: "9475be233c437f0e3637af55e7702cbbe5c23a68bd56e8a5fa2d426297b7c6c8"
url: "https://pub.dev"
source: hosted
version: "0.15.5"
version: "0.15.5+1"
http:
dependency: "direct main"
description:
Expand Down Expand Up @@ -593,10 +593,10 @@ packages:
dependency: transitive
description:
name: local_auth_android
sha256: "0abe4e72f55c785b28900de52a2522c86baba0988838b5dc22241b072ecccd74"
sha256: "63ad7ca6396290626dc0cb34725a939e4cfe965d80d36112f08d49cf13a8136e"
url: "https://pub.dev"
source: hosted
version: "1.0.48"
version: "1.0.49"
local_auth_darwin:
dependency: transitive
description:
Expand Down Expand Up @@ -658,7 +658,7 @@ packages:
description:
path: "libs/android/media_kit_libs_android_video"
ref: HEAD
resolved-ref: d544e1c52db47a45097a8332a862687c832359d9
resolved-ref: "6c16629c2d66555d53b13fd104d8e03f8eee3407"
url: "https://github.com/media-kit/media-kit/"
source: git
version: "1.3.7"
Expand All @@ -667,7 +667,7 @@ packages:
description:
path: "libs/ios/media_kit_libs_ios_video"
ref: HEAD
resolved-ref: d544e1c52db47a45097a8332a862687c832359d9
resolved-ref: "6c16629c2d66555d53b13fd104d8e03f8eee3407"
url: "https://github.com/media-kit/media-kit/"
source: git
version: "1.1.4"
Expand All @@ -676,7 +676,7 @@ packages:
description:
path: "libs/windows/media_kit_libs_windows_video"
ref: HEAD
resolved-ref: d544e1c52db47a45097a8332a862687c832359d9
resolved-ref: "6c16629c2d66555d53b13fd104d8e03f8eee3407"
url: "https://github.com/media-kit/media-kit/"
source: git
version: "1.0.11"
Expand Down Expand Up @@ -780,10 +780,10 @@ packages:
dependency: transitive
description:
name: path_provider_android
sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12"
sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
url: "https://pub.dev"
source: hosted
version: "2.2.16"
version: "2.2.17"
path_provider_foundation:
dependency: transitive
description:
Expand Down Expand Up @@ -836,10 +836,10 @@ packages:
dependency: transitive
description:
name: permission_handler_apple
sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
url: "https://pub.dev"
source: hosted
version: "9.4.6"
version: "9.4.7"
permission_handler_html:
dependency: transitive
description:
Expand Down Expand Up @@ -892,10 +892,10 @@ packages:
dependency: transitive
description:
name: posix
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
url: "https://pub.dev"
source: hosted
version: "6.0.1"
version: "6.0.2"
provider:
dependency: "direct main"
description:
Expand Down Expand Up @@ -1172,18 +1172,18 @@ packages:
dependency: transitive
description:
name: url_launcher_android
sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4"
sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
url: "https://pub.dev"
source: hosted
version: "6.3.15"
version: "6.3.16"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
url: "https://pub.dev"
source: hosted
version: "6.3.2"
version: "6.3.3"
url_launcher_linux:
dependency: transitive
description:
Expand Down Expand Up @@ -1268,10 +1268,10 @@ packages:
dependency: transitive
description:
name: video_player_avfoundation
sha256: "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc"
sha256: "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f"
url: "https://pub.dev"
source: hosted
version: "2.7.0"
version: "2.7.1"
video_player_platform_interface:
dependency: transitive
description:
Expand Down Expand Up @@ -1308,18 +1308,18 @@ packages:
dependency: "direct main"
description:
name: wakelock_plus
sha256: b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354
sha256: b6962cd9fc15e4843b573ba7b53bc46dd8a787594cf9ed5c5182581924656a58
url: "https://pub.dev"
source: hosted
version: "1.2.11"
version: "1.3.1"
wakelock_plus_platform_interface:
dependency: transitive
description:
name: wakelock_plus_platform_interface
sha256: "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a"
sha256: e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207
url: "https://pub.dev"
source: hosted
version: "1.2.2"
version: "1.2.3"
web:
dependency: transitive
description:
Expand Down Expand Up @@ -1372,10 +1372,10 @@ packages:
dependency: "direct main"
description:
name: xml2json
sha256: "9ff65c144a48f7f73d2bd6d919700c7697beced3b51216b982f78c68bc0da142"
sha256: "8a7ae63b76676f083d81287b61f03222952609c0507893bc62e60a4a588a9702"
url: "https://pub.dev"
source: hosted
version: "6.2.6"
version: "6.2.7"
yaml:
dependency: transitive
description:
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: Bluecherry client written in Flutter.

publish_to: "none"

version: 3.0.0-beta22
version: 3.0.0-beta23

environment:
sdk: ">=3.7.0 <4.0.0"
Expand Down
Loading