svxlink icon indicating copy to clipboard operation
svxlink copied to clipboard

1st version of an AnnounceLogic. It is used to broadcast audio messag…

Open dl1hrc opened this issue 2 years ago • 4 comments

…es "Rundsprueche" at predefined time/dates to connected logics or repeater systems.

Maybe could be interesting? mni 73s de Adi / DL1HRC

dl1hrc avatar Jun 16 '22 05:06 dl1hrc

@dl1hrc

I have been working on a similar system but mine is all TCL so no need to compile anything. Not saying mine is better by any means, just a different approach. We should compare notes and merge approaches into a single setup so we are not doing redundant work

Dloranger avatar Sep 04 '22 15:09 Dloranger

ok Daniel, my approach was to have a stupid core logic that provide a simple functionality for streaming announcements into a reflector linked network, normally known as broadcasts. Some ideas what an AnnounceLogic should do (in my opinion):

  • linking it with all reflectors that are available on a local node by command (dtmf, pty ...)
  • time/date controlled playback of announcements
  • sending out announcements e.g. once a year/month/week/day/hour/minute due to configuration
  • sending greetings (Whitsun, Easter, ...)
  • dynamic playback of announcements "on-the-fly"
  • no influence to the linked logics (rx/tx) out of playing back announcements

It's just an idea, it should be very flexible, e.g. if you have 4 links it should be no problem to link a single AnnounceLogic as well as to have 4 different AnnounceLogics. Maybe I have to work on it to fulfill this requirement.

Mni 73s de Adi / DL1HRC

dl1hrc avatar Sep 04 '22 16:09 dl1hrc

Here are my so far very simple working scripts, not ready for error handling, polite announcing, etc yet, but should show the basic approach for the arrays annoucements.zip

Dloranger avatar Sep 04 '22 17:09 Dloranger

ok, the question is does it send it into the network or does it announce it only at the local node? My idea was to send the information to all connected nodes from time to time.

dl1hrc avatar Sep 04 '22 18:09 dl1hrc

My scripts are setup to use a simple array of data (needs expanded for month and year still, with start and stop conditions, etc)

So far the data array looks like this

Day of week (wildcard or 0-6) Hour of day (wildcard or specific 24 hour) Minute (0-59) .wav path to announcement to play (assumption is you will have a single file rather than stitching together a bunch of words)

So its something like this

#D H M Path

    • 10 /path/to/announcement.wav

This will then play the announcement every day, every hour at the 10 minute marker.

At the 1 min timer, the script itterates thru the list and plays any announcements that are due using the existing functions (playsound? Need to review)

I will dig up some files to share so you can take a look at the approach I am using

Dan

On Sun, Sep 4, 2022, 9:44 AM Adi Bier @.***> wrote:

ok Daniel, my approach was to have a stupid core logic that provide a simple functionality for streaming announcements into a reflector linked network, normally known as broadcasts. Some ideas what an AnnounceLogic should do (in my opinion):

  • linking it with all reflectors that are available on a local node by command (dtmf, pty ...)
  • time/date controlled playback of announcements
  • sending out announcements e.g. once a year/month/week/day/hour/minute due to configuration
  • sending greetings (Whitsun, Easter, ...)
  • dynamic playback of announcements "on-the-fly"
  • no influence to the linked logics (rx/tx) out of playing back announcements

It's just an idea, it should be very flexible, e.g. if you have 4 links it should be no problem to link a single AnnounceLogic as well as to have 4 different AnnounceLogics. Maybe I have to work on it to fulfill this requirement.

Mni 73s de Adi / DL1HRC

— Reply to this email directly, view it on GitHub https://github.com/sm0svx/svxlink/pull/586#issuecomment-1236377217, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACPI3DJNQXKC6QLGL53EUNTV4TGXZANCNFSM5Y5SYNEQ . You are receiving this because you commented.Message ID: @.***>

Dloranger avatar Oct 11 '22 06:10 Dloranger

ok, just checked in the changes according to your hints. Thank you! Mni 73s de Adi / DL1HRC

dl1hrc avatar Jul 20 '23 19:07 dl1hrc

Adi,

I suggest adding README.adoc which will contain short info about AnnounceLogic and how to compile like

..... -DWITH_CONTRIB_ANNOUNCE_LOGIC=ON

it will be useful who will try to use

and maybe link to your PDF document (in Germany language) where is more info about this

73 Waldek

sp2ong avatar Jul 21 '23 04:07 sp2ong

Adi,

It will be useful to add info that we need to create in the sounds directory AnnounceLogic/ which contains the file prenotification.wav Can you write what this file contains?

sp2ong avatar Jul 21 '23 05:07 sp2ong

I see in AnnounceLogic.tcl that this Logic use sounds wav files "prenotify.wav". "Broadcast.wav" do you have example?

sp2ong avatar Jul 21 '23 05:07 sp2ong

Adi,

Please check the files:

https://github.com/sm0svx/svxlink/blob/master/src/svxlink/svxlink/contrib/AnnounceLogic/AnnounceLogic.conf.5 and https://github.com/sm0svx/svxlink/blob/master/src/svxlink/svxlink/contrib/AnnounceLogic/AnnounceLogic.conf.in

different parameters contains it looks like AnnounceLogic.conf.5 is not from this branch ??? maybe I do not understand the full AnnounceLogic ?

sp2ong avatar Jul 21 '23 05:07 sp2ong

Adi,

I suggest a change in this file https://github.com/sm0svx/svxlink/blob/master/src/svxlink/svxlink/contrib/AnnounceLogic/AnnounceLogic.conf.in

[Announce]

to

[AnnounceLogic]

it will be compatible with name of tcl file

https://github.com/sm0svx/svxlink/blob/master/src/svxlink/svxlink/contrib/AnnounceLogic/AnnounceLogic.tcl

namespace eval AnnounceLogic {

or I am wrong

73 Waldek

sp2ong avatar Jul 21 '23 06:07 sp2ong

Hi Waldek, thank you for the hints, will check it soon. Mni 73s de Adi / DL1HRC

dl1hrc avatar Jul 21 '23 07:07 dl1hrc