Skip to content

Commit

Permalink
Version 6.5.4
Browse files Browse the repository at this point in the history
  • Loading branch information
chuot committed Sep 9, 2022
1 parent bf75f92 commit d03f0b1
Show file tree
Hide file tree
Showing 22 changed files with 398 additions and 256 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ _v6.5.3_
- Add filename to dirwatch error messages (issue #248).
- Dirwatch.type=default now defaults to the current date and time if none are provided by the metatags (discussion #250).

_v6.5.4_

- Fixed some warnings when linting server code.
- New dirwatch type `DSDPlus Fast Lane` (discussion #244).
- Added new error catches on dirwatch (issue 254).
- Fixed search by inaccurate time (issue #258).
- Reverted sync.Map to regular map with sync.Mutex.

## Version 6.4

- New `-cmd` command line options to allow advanced administrative tasks.
Expand Down
16 changes: 8 additions & 8 deletions COMPILING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ Clone the official repository on your computer and start the build process.

When finished, you will find the precompiled versions for various platforms in the `dist` folder.

rdio-scanner-darwin-amd64-v6.5.3.zip
rdio-scanner-darwin-arm64-v6.5.3.zip
rdio-scanner-freebsd-amd64-v6.5.3.zip
rdio-scanner-linux-386-v6.5.3.zip
rdio-scanner-linux-amd64-v6.5.3.zip
rdio-scanner-linux-arm64-v6.5.3.zip
rdio-scanner-linux-arm-v6.5.3.zip
rdio-scanner-windows-amd64-v6.5.3.zip
rdio-scanner-darwin-amd64-v6.5.4.zip
rdio-scanner-darwin-arm64-v6.5.4.zip
rdio-scanner-freebsd-amd64-v6.5.4.zip
rdio-scanner-linux-386-v6.5.4.zip
rdio-scanner-linux-amd64-v6.5.4.zip
rdio-scanner-linux-arm64-v6.5.4.zip
rdio-scanner-linux-arm-v6.5.4.zip
rdio-scanner-windows-amd64-v6.5.4.zip

**Happy Rdio scanning !**
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
################################################################################

app := rdio-scanner
date := 2022/08/10
ver := 6.5.3
date := 2022/09/09
ver := 6.5.4

client := $(wildcard client/*.json client/*.ts)
server := $(wildcard server/*.go)
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ Here is a list of recorders known to work with [Rdio Scanner](https://github.com
| -------------------------------------------------------------- | --- | -------- |
| [Trunk Recorder](https://github.com/robotastic/trunk-recorder) | X | X |
| [RTLSDR-Airband](https://github.com/szpajder/RTLSDR-Airband) | | X |
| [sdrtrunk](https://github.com/DSheirer/sdrtrunk) | | X |
| [SDRTrunk](https://github.com/DSheirer/sdrtrunk) | | X |
| [voxcall](https://github.com/aaknitt/voxcall) | X | |
| [ProScan](https://www.proscan.org/) | | X |
| [DSDPlus Fast Lane](https://https://www.dsdplus.com/) | | X |

# Quick start

Expand Down
4 changes: 2 additions & 2 deletions client/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@
"build": "ng build --base-href ./ --configuration production",
"start": "ng serve"
},
"version": "6.5.3"
"version": "6.5.4"
}
8 changes: 6 additions & 2 deletions client/src/app/components/rdio-scanner/admin/admin.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -637,6 +637,10 @@ export class RdioScannerAdminService implements OnDestroy {
return null;
}

if (control.value.startsWith('\\')) {
return { network: true }
}

const dirWatch: DirWatch[] = control.parent?.parent?.getRawValue() || [];

const count = dirWatch.reduce((c, a) => c += a.directory === control.value ? 1 : 0, 0);
Expand All @@ -653,7 +657,7 @@ export class RdioScannerAdminService implements OnDestroy {

const type = dirwatch.type;

return ['sdr-trunk'].includes(type) || control.value !== null || /#SYS/.test(mask) ? null : { required: true };
return ['dsdplus', 'sdr-trunk'].includes(type) || control.value !== null || /#SYS/.test(mask) ? null : { required: true };
};
}

Expand All @@ -665,7 +669,7 @@ export class RdioScannerAdminService implements OnDestroy {

const type = dirwatch.type;

return ['trunk-recorder', 'sdr-trunk'].includes(type) || control.value !== null || /#TG/.test(mask) ? null : { required: true };
return ['dsdplus', 'trunk-recorder', 'sdr-trunk'].includes(type) || control.value !== null || /#TG/.test(mask) ? null : { required: true };
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,28 @@
<mat-slide-toggle color="primary" formControlName="deleteAfter"></mat-slide-toggle>
</div>
</div>
<div class="row">
<p>
<span class="mat-body">Type</span><br>
<span class="mat-caption">
Dirwatch type defines how the metadata are obtained.
<ul>
<li><b>Default</b> - Extract the metadata from a custom mask.</li>
<li><b>DSDPlus Fast Lane</b> - Extract the metadata from the file path.</li>
<li><b>Trunk Recorder</b> - Extract the metadata from the json file.</li>
<li><b>SDR Trunk</b> - Extract the metadata from the MP3 tags defined on the SDR Trunk's aliases tab.</li>
</ul>
</span>
</p>
<mat-form-field floatLabel="never">
<mat-select formControlName="type" placeholder="Type">
<mat-option value="default">Default</mat-option>
<mat-option value="dsdplus">DSDPlus Fast Lane</mat-option>
<mat-option value="trunk-recorder">Trunk Recorder</mat-option>
<mat-option value="sdr-trunk">SDR Trunk</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="row">
<p>
<span class="mat-body">Directory</span><br>
Expand All @@ -49,9 +71,12 @@
<mat-error *ngIf="dirWatch.get('directory')?.hasError('duplicate')">
Directory is already defined
</mat-error>
<mat-error *ngIf="dirWatch.get('directory')?.hasError('network')">
Incompatible network folder
</mat-error>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default','dsdplus','trunk-recorder'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">Extension</span><br>
<span class="mat-caption">The audio call extension to monitor without the period. Ex.: "mp3",
Expand All @@ -64,29 +89,14 @@
</mat-error>
</mat-form-field>
</div>
<div class="row">
<p>
<span class="mat-body">Type</span><br>
<span class="mat-caption">When SDR Trunk, metadata are obtained from the MP3 tags. Note that
the label of the SDR Trunk system must match the label of the Rdio Scanner system label. When
trunk-recorder, metadata are obtained from the JSON file.</span>
</p>
<mat-form-field floatLabel="never">
<mat-select formControlName="type" placeholder="Type">
<mat-option [value]="null">Default</mat-option>
<mat-option value="trunk-recorder">Trunk Recorder</mat-option>
<mat-option value="sdr-trunk">SDR Trunk (aliases tab only)</mat-option>
</mat-select>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default','dsdplus'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">System</span><br>
<span class="mat-caption">System to where the audio files should go.</span>
</p>
<mat-form-field floatLabel="never">
<mat-select #sysId formControlName="systemId" placeholder="System">
<mat-option [value]="null">Metatag #SYS</mat-option>
<mat-option [value]="null"></mat-option>
<mat-option *ngFor="let system of systems" [value]="system.value.id">
{{ system.value.label }}
</mat-option>
Expand All @@ -96,14 +106,14 @@
</mat-error>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">Talkgroup</span><br>
<span class="mat-caption">Talkgroup to where the audio files should go.</span>
</p>
<mat-form-field floatLabel="never">
<mat-select formControlName="talkgroupId" placeholder="Talkgroup">
<mat-option [value]="null">Metatag #TG</mat-option>
<mat-option [value]="null"></mat-option>
<mat-option *ngFor="let talkgroup of talkgroups[dirWatch.value.systemId] || []"
[value]="talkgroup.value.id">
{{ talkgroup.value.label }}
Expand All @@ -114,7 +124,7 @@
</mat-error>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">Mask</span><br>
<span class="mat-caption">Some metadata can be extracted from the file name of the audio file using
Expand Down Expand Up @@ -156,7 +166,7 @@
</mat-error>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">Frequency</span><br>
<span class="mat-caption">Fake frequency in hertz displayed on the main screen.</span>
Expand All @@ -168,7 +178,7 @@
</mat-error>
</mat-form-field>
</div>
<div class="row">
<div class="row" *ngIf="['default'].includes(dirWatch.get('type')?.value)">
<p>
<span class="mat-body">Delay</span><br>
<span class="mat-caption">Depending on the recorder, audio files can be ingested too soon after the
Expand Down
10 changes: 5 additions & 5 deletions docs/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ $ docker run --detach --env TZ=America/Toronto --name rdio-scanner --publish 300
520cdbf51fca11d8bacea12d81245f1cb4d984f80d2be2e3039727b59533a6a9

$ docker logs rdio-scanner
Rdio Scanner v6.5.3
Rdio Scanner v6.5.4
----------------------------------
2022/08/10 08:57:23 server started
2022/08/10 08:57:23 base folder is /app/data
2022/08/10 08:57:23 main interface at http://6d87e8dc37a0:3000
2022/08/10 08:57:23 admin interface at http://6d87e8dc37a0:3000/admin
2022/09/09 08:57:23 server started
2022/09/09 08:57:23 base folder is /app/data
2022/09/09 08:57:23 main interface at http://6d87e8dc37a0:3000
2022/09/09 08:57:23 admin interface at http://6d87e8dc37a0:3000/admin
```

You can also use docker-compose to start the server with this simple `docker-compose.yml`:
Expand Down
45 changes: 23 additions & 22 deletions docs/platforms/darwin.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ Here is a list of recorders known to work with [Rdio Scanner](https://github.com
| -------------------------------------------------------------- | --- | -------- |
| [Trunk Recorder](https://github.com/robotastic/trunk-recorder) | X | X |
| [RTLSDR-Airband](https://github.com/szpajder/RTLSDR-Airband) | | X |
| [sdrtrunk](https://github.com/DSheirer/sdrtrunk) | | X |
| [SDRTrunk](https://github.com/DSheirer/sdrtrunk) | | X |
| [voxcall](https://github.com/aaknitt/voxcall) | X | |
| [ProScan](https://www.proscan.org/) | | X |
| [DSDPlus Fast Lane](https://https://www.dsdplus.com/) | | X |

# Improve your experience on the go

Expand All @@ -42,20 +43,20 @@ ALWAYS DOWNLOAD THE LATEST VERSION OF [RDIO SCANNER](https://github.com/chuot/rd
rdio@macos ~ % mkdir rdio-scanner
rdio@macos ~ % cd rdio-scanner
rdio@macos rdio-scanner % unzip \
> ~/Downloads/rdio-scanner-darwin-arm64-v6.5.3.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.5.3.zip
> ~/Downloads/rdio-scanner-darwin-arm64-v6.5.4.zip
Archive: /Users/rdio/Downloads/rdio-scanner-darwin-arm64-v6.5.4.zip
inflating: rdio-scanner
inflating: rdio-scanner.pdf

3. Run the executable.

rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.5.3
Rdio Scanner v6.5.4
----------------------------------
2022/08/10 08:38:06 server started
2022/08/10 08:38:06 main interface at http://macos.local:3000
2022/08/10 08:38:06 admin interface at http://macos.local:3000/admin
2022/09/09 08:38:06 server started
2022/09/09 08:38:06 main interface at http://macos.local:3000
2022/09/09 08:38:06 admin interface at http://macos.local:3000/admin

4. Access the administrative dashboard to finalize the configuration.

Expand All @@ -77,11 +78,11 @@ Here we want our [Rdio Scanner](https://guthub.com/chuot/rdio-scanner) instance

rdio@macos rdio-scanner % ./rdio-scanner --listen :80
Rdio Scanner v6.5.3
Rdio Scanner v6.5.4
----------------------------------
2022/08/10 08:48:03 server started
2022/08/10 08:48:03 main interface at http://macos.local
2022/08/10 08:48:03 admin interface at http://macos.local/admin
2022/09/09 08:48:03 server started
2022/09/09 08:48:03 main interface at http://macos.local
2022/09/09 08:48:03 admin interface at http://macos.local/admin

## Listening on a SSL port

Expand All @@ -95,12 +96,12 @@ You can use your own SSL certificates that match your domain name with `-ssl_cer
> -ssl_key_file mykey.key \
> -ssl_listen :443
Rdio Scanner v6.5.3
Rdio Scanner v6.5.4
----------------------------------
2022/08/10 08:50:58 server started
2022/08/10 08:50:58 main interface at http://macos.local
2022/08/10 08:50:58 main interface at https://macos.local
2022/08/10 08:50:58 admin interface at https://macos.local/admin
2022/09/09 08:50:58 server started
2022/09/09 08:50:58 main interface at http://macos.local
2022/09/09 08:50:58 main interface at https://macos.local
2022/09/09 08:50:58 admin interface at https://macos.local/admin

If you don't want to worry about SSL certificates, you can use the built-in Let's Encrypt auto-cert feature. This requires that you have both port 80 (HTTP) and port 443 (HTTPS) open to the world. Also, your domain name should point to your IP address where [Rdio Scanner](https://github.com/chuot/rdio-scanner/) is running. The advantage of this approach is that everything is done automatically, no certificate request, no certificate renewal.

Expand All @@ -118,7 +119,7 @@ You don't want to have to type everytime a long list of arguments. No problem, y
> -ssl_auto_cert mydomain.com \
> -ssl_listen :443 \
> -config_save
2022/08/10 08:52:24 rdio-scanner.ini file created
2022/09/09 08:52:24 rdio-scanner.ini file created

All of your parameters passed as arguments to [Rdio Scanner](https://github.com/chuot/rdio-scanner) have been saved to an INI file which has the same arguments/values list.

Expand All @@ -132,12 +133,12 @@ Then simply run [Rdio Scanner](https://github.com/chuot/rdio-scanner) without an

rdio@macos rdio-scanner % ./rdio-scanner
Rdio Scanner v6.5.3
Rdio Scanner v6.5.4
----------------------------------
2022/08/10 08:54:08 server started
2022/08/10 08:54:08 main interface at http://macos.local
2022/08/10 08:54:08 main interface at https://macos.local
2022/08/10 08:54:08 admin interface at https://macos.local/admin
2022/09/09 08:54:08 server started
2022/09/09 08:54:08 main interface at http://macos.local
2022/09/09 08:54:08 main interface at https://macos.local
2022/09/09 08:54:08 admin interface at https://macos.local/admin

## Install Rdio Scanner as a service

Expand Down
Loading

0 comments on commit d03f0b1

Please sign in to comment.