Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio Playback Management #1723

Open
5 of 8 tasks
DSheirer opened this issue Nov 10, 2023 · 0 comments
Open
5 of 8 tasks

Audio Playback Management #1723

DSheirer opened this issue Nov 10, 2023 · 0 comments
Assignees
Labels
feature Feature Request
Milestone

Comments

@DSheirer
Copy link
Owner

DSheirer commented Nov 10, 2023

Audio Playback Management Feature

This feature details the design concept and requirements for a new Audio Playback Manager feature. This feature will add a new tab to the right of the 'Now Playing' tab named 'Calls'. This view will allow the user to control audio playback and access a call history with the ability to reselect audio segments to replay.

This new feature will enable creation of a calls API that will allow external applications to access call activity and historical call activity to support network based audio monitoring applications. However, this endpoint and API are out of scope for this issue.

Description

This feature creates a new tab in the sdrtrunk window entitled 'Calls' that will be positioned to the right of the 'Now Playing' window. This view shows a historical table view of call activity that is dynamically updated with the most-recent calls at the top. The application will actively manage the selection of incoming call events for replay in either the mono or left/right audio channels. However, the user can override this behavior and temporarily pin the left or right channel for manual playback selections or to lock-down the audio channel for a specific talkgroup or radio.

Call activity will be logged to a database and all calls will be recorded, at least temporarily. This is essential to allowing the user to select recent call activity for replay. However, after either a time-based or drive space based threshold, calls will be aged off and the audio recordings will be deleted. If the user has designated an alias for recording, those audio files will be retained until the user manually removes them from the recording directory.

Mono/Left/Right audio display panels will be enhanced to provide more information. This will include an indicator of either automatic mode, pinned mode, or manual selection mode. The panels may be enhanced to include: system, site, and from identifier as well as call type (patch, group, telephone, or private).

With the addition of temporary audio recording, drive space becomes an issue. This feature will include a drive space monitoring system that allows the user to specify maximum drive space to use for audio recordings and it will actively manage removing audio files once those thresholds are met. A new status bar at the bottom of the application will provide at-a-glance disk space usage indicator and display warnings when drive space consumption or availability becomean issue.

Various aspects of improved audio playback management is the source of many user requests: #1702, #1616, #1521, #1429, #1128, #1089, #1070, #902, #647, #552, #548, #545, #349, #340, #324, #323, #261, #167, #131, #95, #50

Features / Requirements

  • New 'Calls' tab view to the right of the 'Now Playing' tab
  • Live calls view show the XXX most recent calls
  • Paged table view for historical call activity viewing and search.
  • Temporarily Pin a talkgroup or radio to an audio output device (mono/left/right)
  • User defined preferred output channel for aliases (talkgroups/radios).
  • Optional: expand beyond current mono/stereo options for audio playback devices

Drive Space Monitoring

@DSheirer DSheirer added the feature Feature Request label Nov 10, 2023
@DSheirer DSheirer added this to the Version 0.7.0 milestone Nov 10, 2023
@DSheirer DSheirer self-assigned this Nov 10, 2023
DSheirer pushed a commit that referenced this issue Nov 26, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Incomplete: audio playback/outputs, recording and streaming enhancements, and audio calls endpoint.
DSheirer pushed a commit that referenced this issue Dec 1, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Incomplete: audio playback/outputs, recording and streaming enhancements, and audio calls endpoint.
DSheirer pushed a commit that referenced this issue Dec 1, 2023
…ng: does not age-off calls and displays entire database which will run out of memory eventually.
DSheirer pushed a commit that referenced this issue Dec 4, 2023
DSheirer pushed a commit that referenced this issue Dec 16, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Incomplete: audio playback/outputs, recording and streaming enhancements, and audio calls endpoint.
DSheirer pushed a commit that referenced this issue Dec 16, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Incomplete: audio playback/outputs, recording and streaming enhancements, and audio calls endpoint.
DSheirer pushed a commit that referenced this issue Dec 17, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Incomplete: audio playback/outputs, recording and streaming enhancements, and audio calls endpoint.
DSheirer pushed a commit that referenced this issue Dec 22, 2023
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Audio playback panels (work in progress)
DSheirer pushed a commit that referenced this issue Dec 26, 2023
DSheirer pushed a commit that referenced this issue Dec 26, 2023
…reorganizes channel view panel with additional css styling.
DSheirer pushed a commit that referenced this issue Dec 27, 2023
…tener to be notified when calls are completed and create a duplicate audio file recording.
DSheirer pushed a commit that referenced this issue Dec 28, 2023
…eue and support auto, auto-locked, replay, and mute playback modes.
DSheirer pushed a commit that referenced this issue Dec 31, 2023
DSheirer pushed a commit that referenced this issue Jan 6, 2024
DSheirer pushed a commit that referenced this issue Jan 6, 2024
…ility and adds table state monitoring to save any user customization of the column ordering.
DSheirer pushed a commit that referenced this issue Jan 6, 2024
…nd restores the sort on application launch.
DSheirer pushed a commit that referenced this issue Jan 7, 2024
…d and Minimal. Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 8, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 8, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 9, 2024
DSheirer pushed a commit that referenced this issue Jan 10, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 10, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 11, 2024
…e via the user preferences audio playback setting.
DSheirer pushed a commit that referenced this issue Jan 12, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 12, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 12, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 12, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
DSheirer pushed a commit that referenced this issue Jan 23, 2024
-Implements Spring Boot and spring dependency injection - significant code refactoring.
-Creates database repository with Calls table
-Implements AudioManager to update database and manage audio recordings.
-Calls paging and searching
-Adds audio recording to wave file and places file in the calls database table.
-Audio spectrum view with 64 bins.
-Updates audio playback manager to process the incoming calls queue and support auto, auto-locked, replay, and mute playback modes.
-Adds channel lock/unlock and mute/unmute features.
-Adds column configuration editor to change column order & visibility and adds table state monitoring to save any user customization of the column ordering.
-Adds call table column sort ordering to the saved table state and restores the sort on application launch.
-Adds audio playback channel view options for: Complete, Standard and Minimal.  Updates user preferences Audio | Playback section to allow user to select preferred view style.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature Request
Projects
None yet
Development

No branches or pull requests

1 participant