From 9316599dec506c2df170c7c099915cd8abf6c964 Mon Sep 17 00:00:00 2001 From: Denny Date: Sun, 17 Dec 2017 07:28:03 -0500 Subject: [PATCH] Updates pull request from Roman Tsypuk to convert the build system from ant to gradle. Removes linux and windows application launch scripts and produces an executable jar with all resources included. --- CHANGELOG | 39 +- LICENSE | 32 +- README.md | 6 +- build.gradle | 5 +- gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 2 +- .../github/dsheirer}/alias/Alias.java | 41 +- .../dsheirer}/alias/AliasController.java | 28 +- .../github/dsheirer}/alias/AliasEditor.java | 41 +- .../github/dsheirer}/alias/AliasEvent.java | 6 +- .../github/dsheirer}/alias/AliasFactory.java | 82 +- .../github/dsheirer}/alias/AliasList.java | 76 +- .../github/dsheirer}/alias/AliasModel.java | 31 +- .../dsheirer}/alias/AliasNameEditor.java | 19 +- .../dsheirer}/alias/ComponentEditor.java | 8 +- .../alias/ComponentValidationException.java | 2 +- .../dsheirer}/alias/MultipleAliasEditor.java | 33 +- .../dsheirer}/alias/PatchGroupAlias.java | 37 +- .../dsheirer}/alias/action/AliasAction.java | 26 +- .../alias/action/AliasActionEditor.java | 37 +- .../alias/action/AliasActionListener.java | 10 +- .../alias/action/AliasActionManager.java | 22 +- .../alias/action/AliasActionType.java | 2 +- .../alias/action/RecurringAction.java | 8 +- .../alias/action/beep/BeepAction.java | 28 + .../alias/action/beep/BeepActionEditor.java | 44 +- .../alias/action/clip/ClipAction.java | 23 +- .../alias/action/clip/ClipActionEditor.java | 53 +- .../alias/action/script/ScriptAction.java | 20 +- .../action/script/ScriptActionEditor.java | 47 +- .../github/dsheirer}/alias/id/AliasID.java | 32 +- .../dsheirer}/alias/id/AliasIDType.java | 2 +- .../alias/id/AliasIdentifierEditor.java | 42 +- .../github/dsheirer}/alias/id/WildcardID.java | 6 +- .../alias/id/broadcast/BroadcastChannel.java | 14 +- .../id/broadcast/BroadcastChannelEditor.java | 14 +- .../dsheirer}/alias/id/esn/ESNEditor.java | 17 +- .../github/dsheirer}/alias/id/esn/Esn.java | 8 +- .../alias/id/fleetsync/FleetsyncID.java | 8 +- .../alias/id/fleetsync/FleetsyncIDEditor.java | 24 +- .../alias/id/lojack/LoJackFunctionAndID.java | 22 +- .../alias/id/lojack/LoJackIDEditor.java | 25 +- .../dsheirer}/alias/id/mdc/MDC1200ID.java | 9 +- .../alias/id/mdc/MDC1200IDEditor.java | 20 +- .../alias/id/mobileID/MINEditor.java | 20 +- .../dsheirer}/alias/id/mobileID/Min.java | 9 +- .../dsheirer}/alias/id/mpt1327/MPT1327ID.java | 9 +- .../alias/id/mpt1327/MPT1327IDEditor.java | 20 +- .../alias/id/nonrecordable/NonRecordable.java | 6 +- .../id/nonrecordable/NonRecordableEditor.java | 24 +- .../dsheirer}/alias/id/priority/Priority.java | 12 +- .../alias/id/priority/PriorityEditor.java | 25 +- .../dsheirer}/alias/id/siteID/SiteID.java | 10 +- .../alias/id/siteID/SiteIDEditor.java | 17 +- .../dsheirer}/alias/id/status/StatusID.java | 8 +- .../alias/id/status/StatusIDEditor.java | 22 +- .../alias/id/talkgroup/TalkgroupID.java | 7 +- .../alias/id/talkgroup/TalkgroupIDEditor.java | 17 +- .../dsheirer}/alias/id/uniqueID/UniqueID.java | 8 +- .../alias/id/uniqueID/UniqueIDEditor.java | 17 +- .../dsheirer}/audio/AudioChannelPanel.java | 28 +- .../dsheirer}/audio/AudioChannelsPanel.java | 12 +- .../github/dsheirer}/audio/AudioEvent.java | 2 +- .../dsheirer}/audio/AudioException.java | 2 +- .../github/dsheirer}/audio/AudioFormats.java | 6 +- .../github/dsheirer}/audio/AudioManager.java | 115 ++- .../github/dsheirer}/audio/AudioModule.java | 42 +- .../github/dsheirer}/audio/AudioPacket.java | 6 +- .../audio/AudioPacketRateCounter.java | 5 +- .../github/dsheirer}/audio/AudioPanel.java | 24 +- .../github/dsheirer}/audio/AudioUtils.java | 7 +- .../dsheirer}/audio/IAudioController.java | 12 +- .../dsheirer}/audio/IAudioPacketListener.java | 4 +- .../dsheirer}/audio/IAudioPacketProvider.java | 4 +- .../dsheirer}/audio/InversionFrequency.java | 2 +- .../audio/broadcast/AudioBroadcaster.java | 50 +- .../audio/broadcast/AudioRecording.java | 10 +- .../broadcast/BroadcastConfiguration.java | 18 +- .../BroadcastConfigurationEditor.java | 12 +- .../audio/broadcast/BroadcastEvent.java | 8 +- .../audio/broadcast/BroadcastFactory.java | 66 +- .../audio/broadcast/BroadcastFormat.java | 4 +- .../audio/broadcast/BroadcastModel.java | 34 +- .../audio/broadcast/BroadcastPanel.java | 15 +- .../audio/broadcast/BroadcastServerType.java | 2 +- .../audio/broadcast/BroadcastState.java | 4 +- .../audio/broadcast/BroadcastStatusPanel.java | 2 +- .../broadcast/IBroadcastMetadataUpdater.java | 6 +- .../audio/broadcast/StreamManager.java | 24 +- .../BroadcastifyConfiguration.java | 12 +- .../BroadcastifyConfigurationEditor.java | 18 +- .../broadcastify/UserFeedSelectionDialog.java | 6 +- .../icecast/IcecastAudioBroadcaster.java | 8 +- .../IcecastBroadcastMetadataUpdater.java | 10 +- .../icecast/IcecastConfiguration.java | 14 +- .../icecast/IcecastHTTPAudioBroadcaster.java | 16 +- .../icecast/IcecastHTTPConfiguration.java | 8 +- .../IcecastHTTPConfigurationEditor.java | 18 +- .../broadcast/icecast/IcecastHeader.java | 4 +- .../icecast/IcecastTCPAudioBroadcaster.java | 18 +- .../icecast/IcecastTCPConfiguration.java | 12 +- .../IcecastTCPConfigurationEditor.java | 16 +- .../icecast/codec/IcecastCodecFactory.java | 4 +- .../icecast/codec/IcecastEncoder.java | 4 +- .../shoutcast/v1/ShoutcastMetadata.java | 6 +- .../v1/ShoutcastV1AudioBroadcaster.java | 16 +- .../ShoutcastV1BroadcastMetadataUpdater.java | 8 +- .../v1/ShoutcastV1Configuration.java | 14 +- .../v1/ShoutcastV1ConfigurationEditor.java | 16 +- .../v2/ShoutcastV2AudioBroadcaster.java | 56 +- .../v2/ShoutcastV2Configuration.java | 8 +- .../v2/ShoutcastV2ConfigurationEditor.java | 16 +- .../v2/ultravox/AuthenticateBroadcast.java | 6 +- .../v2/ultravox/CacheableXMLMetadata.java | 2 +- .../v2/ultravox/ConfigureIcyGenre.java | 2 +- .../v2/ultravox/ConfigureIcyName.java | 2 +- .../v2/ultravox/ConfigureIcyPublic.java | 2 +- .../v2/ultravox/ConfigureIcyURL.java | 2 +- .../v2/ultravox/FlushCachedMetadata.java | 2 +- .../shoutcast/v2/ultravox/MP3Audio.java | 2 +- .../v2/ultravox/NegotiateBufferSize.java | 16 +- .../v2/ultravox/NegotiateMaxPayloadSize.java | 2 +- .../v2/ultravox/PassThroughXMLMetadata.java | 2 +- .../shoutcast/v2/ultravox/RequestCipher.java | 2 +- .../shoutcast/v2/ultravox/SetupBroadcast.java | 2 +- .../shoutcast/v2/ultravox/Standby.java | 2 +- .../shoutcast/v2/ultravox/StreamMimeType.java | 4 +- .../v2/ultravox/TerminateBroadcast.java | 2 +- .../v2/ultravox/UltravoxDecoder.java | 2 +- .../v2/ultravox/UltravoxEncoder.java | 2 +- .../v2/ultravox/UltravoxMessage.java | 12 +- .../v2/ultravox/UltravoxMessageClass.java | 2 +- .../v2/ultravox/UltravoxMessageFactory.java | 2 +- .../v2/ultravox/UltravoxMessageType.java | 2 +- .../v2/ultravox/UltravoxMetadata.java | 2 +- .../v2/ultravox/UltravoxProtocolFactory.java | 2 +- .../audio/convert/IAudioConverter.java | 8 +- .../audio/convert/ISilenceGenerator.java | 2 +- .../audio/convert/MP3AudioConverter.java | 14 +- .../audio/convert/MP3FrameInspector.java | 2 +- .../audio/convert/MP3SilenceGenerator.java | 10 +- .../dsheirer}/audio/invert/AudioAdapter.java | 14 +- .../dsheirer}/audio/invert/AudioInverter.java | 22 +- .../dsheirer}/audio/invert/AudioType.java | 2 +- .../audio/invert/IAudioTypeListener.java | 2 +- .../dsheirer}/audio/output/AudioOutput.java | 81 +- .../audio/output/MonoAudioOutput.java | 12 +- .../audio/output/StereoAudioOutput.java | 16 +- .../audio/squelch/ISquelchStateListener.java | 4 +- .../audio/squelch/ISquelchStateProvider.java | 4 +- .../squelch/ManualSquelchController.java | 6 +- .../audio/squelch/SquelchController.java | 20 +- .../dsheirer/audio/squelch/SquelchMode.java | 25 + .../dsheirer}/audio/squelch/SquelchState.java | 2 +- .../squelch/TrunkingSquelchController.java | 6 +- .../github/dsheirer}/bits/BinaryMessage.java | 96 +-- .../dsheirer}/bits/BitSetFullException.java | 2 +- .../bits/CorrectedBinaryMessage.java | 10 +- .../dsheirer}/bits/ISyncDetectListener.java | 2 +- .../github/dsheirer}/bits/ISyncProcessor.java | 2 +- .../github/dsheirer}/bits/MessageFramer.java | 44 +- .../bits/MultiSyncPatternMatcher.java | 6 +- .../dsheirer}/bits/SoftSyncDetector.java | 2 +- .../github/dsheirer}/bits/SyncDetector.java | 2 +- .../github/dsheirer}/bits/SyncPattern.java | 10 +- .../dsheirer}/bits/SyncPatternMatcher.java | 6 +- .../buffer/BooleanAveragingBuffer.java | 24 +- .../dsheirer}/buffer/CircularBuffer.java | 10 +- .../buffer/ComplexCircularBuffer.java | 16 +- .../buffer/ComplexTappedCircularBuffer.java | 32 +- .../buffer/DoubleCircularBuffer.java | 12 +- .../buffer/FloatAveragingBuffer.java | 2 +- .../dsheirer}/buffer/FloatCircularBuffer.java | 14 +- .../channel/details/ChannelDetailPanel.java | 14 +- .../channel/heartbeat/Heartbeat.java | 2 +- .../channel/heartbeat/IHeartbeatListener.java | 4 +- .../channel/heartbeat/IHeartbeatProvider.java | 4 +- .../channel/metadata/AliasedIdentifier.java | 12 +- .../AliasedIntegerAttributeMonitor.java | 24 +- .../AliasedStringAttributeMonitor.java | 29 +- .../dsheirer}/channel/metadata/Attribute.java | 2 +- .../metadata/AttributeChangeRequest.java | 8 +- .../channel/metadata/AttributeMonitor.java | 12 +- .../metadata/ChannelMetadataModel.java | 12 +- .../metadata/ChannelMetadataPanel.java | 28 +- .../metadata/ChannelMetadataViewer.java | 18 +- .../IAttributeChangeRequestListener.java | 4 +- .../IAttributeChangeRequestProvider.java | 4 +- .../dsheirer}/channel/metadata/Metadata.java | 68 +- .../channel/metadata/MutableMetadata.java | 24 +- .../metadata/MutableMetadataChangeEvent.java | 2 +- .../state/AlwaysUnsquelchedDecoderState.java | 20 +- .../state/ChangeChannelTimeoutEvent.java | 6 +- .../dsheirer}/channel/state/ChannelState.java | 78 +- .../state/ChannelStateSelectionListener.java | 2 +- .../dsheirer}/channel/state/DecoderState.java | 36 +- .../channel/state/DecoderStateEvent.java | 4 +- .../state/IDecoderStateEventListener.java | 4 +- .../state/IDecoderStateEventProvider.java | 4 +- .../github/dsheirer}/channel/state/State.java | 4 +- .../TrafficChannelAllocationEvent.java | 14 +- .../traffic/TrafficChannelManager.java | 75 +- .../dsheirer}/controller/ControllerPanel.java | 41 +- .../controller/NamingThreadFactory.java | 4 +- .../dsheirer}/controller/channel/Channel.java | 126 +-- .../controller/channel/ChannelController.java | 51 +- .../controller/channel/ChannelEditor.java | 55 +- .../controller/channel/ChannelEvent.java | 16 +- .../channel/ChannelEventListener.java | 8 +- .../controller/channel/ChannelModel.java | 20 +- .../channel/ChannelProcessingManager.java | 98 ++- .../channel/ChannelSelectionManager.java | 12 +- .../controller/channel/ChannelUtils.java | 29 +- .../ConfigurationValidationException.java | 4 +- .../channel/IChannelEventBroadcaster.java | 6 +- .../channel/IChannelEventListener.java | 4 +- .../channel/IChannelEventProvider.java | 4 +- .../channel/NameConfigurationEditor.java | 6 +- .../channel/TrafficChannelEvent.java | 8 +- .../controller/channel/map/ChannelMap.java | 9 +- .../channel/map/ChannelMapEditor.java | 31 +- .../channel/map/ChannelMapEvent.java | 8 +- .../channel/map/ChannelMapManager.java | 25 +- .../channel/map/ChannelMapManagerFrame.java | 9 +- .../channel/map/ChannelMapModel.java | 30 +- .../controller/channel/map/ChannelRange.java | 9 +- .../channel/map/ChannelRangeModel.java | 11 +- .../controller/config/Configuration.java | 14 +- .../github/dsheirer}/dsp/NRZDecoder.java | 4 +- .../dsheirer}/dsp/am/AMDemodulator.java | 2 +- .../dsheirer}/dsp/am/AMDemodulator_CB.java | 8 +- .../dsp/filter/BooleanAveragingFilter.java | 8 +- .../dsheirer}/dsp/filter/ComplexFilter.java | 6 +- .../dsheirer}/dsp/filter/FilterFactory.java | 89 +- .../github/dsheirer}/dsp/filter/Filters.java | 18 +- .../dsheirer}/dsp/filter/FloatFIRFilter.java | 22 +- .../dsp/filter/FloatHalfBandFilter.java | 54 +- .../filter/FloatHalfBandNoDecimateFilter.java | 50 +- .../dsheirer}/dsp/filter/GoertzelFilter.java | 12 +- .../dsp/filter/IIRBiQuadraticFilter.java | 4 +- .../dsp/filter/LTRPulseShapingFilter.java | 8 +- .../dsheirer}/dsp/filter/SquaringFilter.java | 8 +- .../github/dsheirer}/dsp/filter/Window.java | 2 +- .../filter/cic/ComplexPrimeCICDecimate.java | 60 +- .../dsp/filter/cic/RealPrimeCICDecimate.java | 61 +- .../dsp/filter/dc/DCRemovalFilter.java | 2 +- .../dsp/filter/dc/DCRemovalFilterLyons.java | 6 +- .../dsp/filter/dc/DCRemovalFilter_CB.java | 6 +- .../dsp/filter/dc/DCRemovalFilter_RB.java | 6 +- .../dsp/filter/dc/DCRemovalFilter_R_R.java | 4 +- .../filter/dc/DCRemovalFilter_RealBuffer.java | 8 +- .../dc/IIRSinglePoleDCRemovalFilter.java | 6 +- .../dc/IIRSinglePoleDCRemovalFilter_RB.java | 8 +- .../filter/design/FilterDesignException.java | 2 +- .../dsp/filter/design/FilterView.css | 0 .../dsp/filter/design/FilterView.java | 11 +- .../dsp/filter/design/FilterViewer.java | 10 +- .../dsp/filter/equalizer/CMAEqualizer.java | 19 +- .../dsheirer}/dsp/filter/fir/FIRFilter.java | 2 +- .../filter/fir/FIRFilterSpecification.java | 76 +- .../filter/fir/complex/ComplexFIRFilter.java | 12 +- .../fir/complex/ComplexFIRFilter_CB_CB.java | 8 +- .../dsp/filter/fir/real/RealFIRFilter.java | 12 +- .../filter/fir/real/RealFIRFilter_RB_RB.java | 10 +- .../filter/fir/real/RealFIRFilter_R_R.java | 6 +- .../fir/remez/FIRLinearPhaseFilterType.java | 2 +- .../dsheirer}/dsp/filter/fir/remez/Grid.java | 9 +- .../fir/remez/RemezFIRFilterDesigner.java | 67 +- .../complex/HalfBandFilter_CB_CB.java | 18 +- .../filter/halfband/real/HalfBandFilter.java | 32 +- .../halfband/real/HalfBandFilter_RB_RB.java | 32 +- .../dsp/filter/hilbert/HilbertTransform.java | 69 +- .../InterpolatingHilbertTransform.java | 63 +- .../dsp/filter/iir/DeemphasisFilter.java | 4 +- .../dsp/filter/interpolator/Interpolator.java | 2 +- .../filter/interpolator/RealInterpolator.java | 17 +- .../dsp/filter/polyphase/FilterStage.java | 18 +- .../PolyphaseFIRDecimatingFilter_RB.java | 43 +- .../PolyphaseFIRInterpolatingFilter.java | 30 +- .../smoothing/GaussianSmoothingFilter.java | 2 +- .../filter/smoothing/NoSmoothingFilter.java | 2 +- .../smoothing/RectangularSmoothingFilter.java | 2 +- .../dsp/filter/smoothing/SmoothingFilter.java | 4 +- .../smoothing/TriangularSmoothingFilter.java | 2 +- .../dsheirer}/dsp/fm/FMDemodulator.java | 12 +- .../dsheirer}/dsp/fm/FMDemodulator_CB.java | 11 +- .../dsheirer}/dsp/fm/FMDiscriminator.java | 20 +- .../github/dsheirer}/dsp/fsk/FSK2Decoder.java | 34 +- .../dsheirer}/dsp/fsk/LTRFSKDecoder.java | 44 +- .../dsp/gain/AutomaticGainControl.java | 14 +- .../dsp/gain/AutomaticGainControl_RB.java | 8 +- .../dsp/gain/ComplexAutomaticGainControl.java | 20 +- .../gain/ComplexFeedForwardGainControl.java | 12 +- .../dsheirer}/dsp/gain/ComplexGain.java | 6 +- .../dsheirer}/dsp/gain/DirectGainControl.java | 7 +- .../dsheirer}/dsp/gain/GainController.java | 2 +- .../dsheirer}/dsp/gain/NonClippingGain.java | 10 +- .../dsheirer}/dsp/mixer/Oscillator.java | 17 +- .../dsheirer}/dsp/psk/LSMDemodulator.java | 39 +- .../dsheirer}/dsp/psk/QPSKPolarSlicer.java | 10 +- .../dsheirer}/dsp/psk/QPSKStarSlicer.java | 10 +- .../github/dsheirer}/dsp/symbol/Dibit.java | 2 +- .../dsheirer}/dsp/symbol/FrameSync.java | 2 +- .../github/dsheirer}/dsp/symbol/Slicer.java | 16 +- .../dsheirer}/dsp/symbol/SymbolEvent.java | 2 +- .../dsp/symbol/SyncDetectListener.java | 2 +- .../dsp/symbol/SyncDetectProvider.java | 2 +- .../github/dsheirer}/edac/BCH_63_16_11.java | 11 +- .../dsheirer}/edac/BerlekempMassey_63.java | 4 +- .../github/dsheirer}/edac/CRC.java | 2 +- .../github/dsheirer}/edac/CRCFleetsync.java | 20 +- .../github/dsheirer}/edac/CRCLJ.java | 13 +- .../github/dsheirer}/edac/CRCLTR.java | 22 +- .../github/dsheirer}/edac/CRCP25.java | 35 +- .../github/dsheirer}/edac/CRCPassport.java | 28 +- .../github/dsheirer}/edac/CRCUtil.java | 23 +- .../github/dsheirer}/edac/Checksum.java | 2 +- .../github/dsheirer}/edac/ChecksumTest.java | 2 +- .../github/dsheirer}/edac/ChecksumType.java | 2 +- .../github/dsheirer}/edac/Golay18.java | 11 +- .../github/dsheirer}/edac/Golay23.java | 12 +- .../github/dsheirer}/edac/Golay24.java | 13 +- .../github/dsheirer}/edac/Hamming10.java | 9 +- .../github/dsheirer}/edac/Hamming15.java | 8 +- .../dsheirer}/edac/ReedSolomon_63_47_17.java | 2 +- .../dsheirer}/edac/trellis/DMRNode.java | 6 +- .../github/dsheirer}/edac/trellis/Node.java | 2 +- .../github/dsheirer}/edac/trellis/Path.java | 2 +- .../edac/trellis/ViterbiDecoder.java | 10 +- .../edac/trellis/ViterbiDecoder_3_4_DMR.java | 28 +- .../dsheirer}/filter/AllPassFilter.java | 4 +- .../github/dsheirer}/filter/Filter.java | 12 +- .../dsheirer}/filter/FilterEditorPanel.java | 31 +- .../dsheirer}/filter/FilterElement.java | 2 +- .../github/dsheirer}/filter/FilterSet.java | 2 +- .../io/github/dsheirer/filter/IFilter.java | 36 + .../dsheirer}/gui/ChannelMemoryLogger.java | 11 +- .../github/dsheirer}/gui/SDRTrunk.java | 76 +- .../gui/control/ConstellationViewer.java | 35 +- .../gui/control/CurveFittedAreaChart.java | 2 +- .../gui/control/JFrequencyControl.java | 32 +- .../gui/editor/DocumentListenerEditor.java | 2 +- .../github/dsheirer}/gui/editor/Editor.java | 2 +- .../gui/editor/EditorValidationException.java | 2 +- .../dsheirer}/gui/editor/EmptyEditor.java | 6 +- .../gui/editor/EmptyValidatingEditor.java | 6 +- .../gui/editor/ValidatingEditor.java | 2 +- .../github/dsheirer}/icon/Icon.java | 4 +- .../github/dsheirer}/icon/IconEditor.java | 9 +- .../dsheirer}/icon/IconListCellRenderer.java | 8 +- .../github/dsheirer}/icon/IconManager.java | 66 +- .../github/dsheirer}/icon/IconSelector.java | 4 +- .../github/dsheirer}/icon/IconSet.java | 4 +- .../dsheirer}/icon/IconTableCellRenderer.java | 4 +- .../github/dsheirer}/icon/IconTableModel.java | 40 +- .../github/dsheirer}/icon/ImageFilter.java | 2 +- .../dsheirer}/instrument/Instrumentable.java | 10 +- .../InstrumentableProcessingChain.java | 14 +- .../instrument/gui/ConstellationPanel.java | 18 +- .../instrument/gui/DecoderSelectionFrame.java | 16 +- .../instrument/gui/DecoderViewFrame.java | 72 +- .../dsheirer}/instrument/gui/SampleModel.java | 9 +- .../instrument/gui/SourceControllerFrame.java | 30 +- .../dsheirer}/instrument/gui/Viewer.java | 44 +- .../github/dsheirer}/instrument/tap/Tap.java | 4 +- .../dsheirer}/instrument/tap/TapGroup.java | 2 +- .../dsheirer}/instrument/tap/TapListener.java | 2 +- .../dsheirer}/instrument/tap/TapType.java | 2 +- .../instrument/tap/TapViewPanel.java | 12 +- .../instrument/tap/event/SyncDetectTap.java | 16 +- .../tap/stream/AdditiveFloatTap.java | 2 +- .../instrument/tap/stream/BinaryTap.java | 8 +- .../tap/stream/BinaryTapViewPanel.java | 15 +- .../tap/stream/ComplexSampleTap.java | 10 +- .../tap/stream/ComplexSampleTapViewPanel.java | 23 +- .../instrument/tap/stream/ComplexTap.java | 10 +- .../tap/stream/ComplexTapViewPanel.java | 23 +- .../instrument/tap/stream/DibitTap.java | 10 +- .../tap/stream/DibitTapViewPanel.java | 18 +- .../instrument/tap/stream/EyeDiagramData.java | 2 +- .../tap/stream/EyeDiagramDataTap.java | 10 +- .../tap/stream/EyeDiagramDataTapPanel.java | 22 +- .../instrument/tap/stream/FloatBufferTap.java | 7 +- .../instrument/tap/stream/FloatTap.java | 8 +- .../tap/stream/FloatTapPhaseViewPanel.java | 17 +- .../tap/stream/FloatTapViewPanel.java | 19 +- .../instrument/tap/stream/GainFloatTap.java | 2 +- .../instrument/tap/stream/QPSKTap.java | 4 +- .../instrument/tap/stream/QPSKTapPanel.java | 38 +- .../instrument/tap/stream/StreamTap.java | 6 +- .../instrument/tap/stream/SymbolEventTap.java | 10 +- .../tap/stream/SymbolEventTapViewPanel.java | 16 +- .../github/dsheirer}/map/DefaultIcon.java | 6 +- .../github/dsheirer}/map/MapIcon.java | 23 +- .../dsheirer}/map/MapMouseListener.java | 22 +- .../github/dsheirer}/map/MapPanel.java | 14 +- .../github/dsheirer}/map/MapService.java | 10 +- .../github/dsheirer}/map/Plottable.java | 7 +- .../github/dsheirer}/map/PlottableEntity.java | 17 +- .../dsheirer}/map/PlottableEntityPainter.java | 4 +- .../map/PlottableEntityRenderer.java | 10 +- .../map/PlottableUpdateListener.java | 2 +- .../dsheirer}/map/SelectionAdapter.java | 8 +- .../dsheirer}/map/SelectionPainter.java | 8 +- .../dsheirer}/message/IMessageListener.java | 4 +- .../dsheirer}/message/IMessageProvider.java | 4 +- .../github/dsheirer}/message/Message.java | 22 +- .../dsheirer}/message/MessageDirection.java | 2 +- .../github/dsheirer}/message/MessageType.java | 2 +- .../github/dsheirer}/module/Module.java | 26 +- .../dsheirer}/module/ProcessingChain.java | 176 ++-- .../decode/AuxDecodeConfigurationEditor.java | 14 +- .../decode/DecodeConfigurationEditor.java | 23 +- .../dsheirer}/module/decode/Decoder.java | 14 +- .../module/decode/DecoderFactory.java | 169 ++-- .../dsheirer}/module/decode/DecoderType.java | 2 +- .../module/decode/PrimaryDecoder.java | 12 +- .../dsheirer}/module/decode/am/AMDecoder.java | 10 +- .../module/decode/am/AMDecoderEditor.java | 15 +- .../module/decode/am/DecodeConfigAM.java | 6 +- .../decode/config/AuxDecodeConfiguration.java | 9 +- .../decode/config/DecodeConfiguration.java | 22 +- .../decode/event/ActivitySummaryFrame.java | 17 +- .../decode/event/ActivitySummaryProvider.java | 6 +- .../module/decode/event/CallEvent.java | 8 +- .../event/CallEventAliasCellRenderer.java | 8 +- .../module/decode/event/CallEventModel.java | 9 +- .../module/decode/event/CallEventPanel.java | 10 +- .../decode/event/ICallEventListener.java | 4 +- .../decode/event/ICallEventProvider.java | 4 +- .../decode/event/MessageActivityModel.java | 15 +- .../decode/event/MessageActivityPanel.java | 15 +- .../decode/fleetsync1/Fleetsync1Message.java | 14 +- .../Fleetsync1MessageProcessor.java | 12 +- .../decode/fleetsync2/Fleetsync2Decoder.java | 43 +- .../fleetsync2/Fleetsync2DecoderState.java | 32 +- .../Fleetsync2MessageProcessor.java | 10 +- .../decode/fleetsync2/FleetsyncCallEvent.java | 12 +- .../decode/fleetsync2/FleetsyncMessage.java | 46 +- .../fleetsync2/FleetsyncMessageFilter.java | 10 +- .../fleetsync2/FleetsyncMessageType.java | 2 +- .../module/decode/lj1200/LJ1200CallEvent.java | 12 +- .../module/decode/lj1200/LJ1200Decoder.java | 49 +- .../decode/lj1200/LJ1200DecoderState.java | 22 +- .../module/decode/lj1200/LJ1200Message.java | 26 +- .../decode/lj1200/LJ1200MessageFilter.java | 10 +- .../decode/lj1200/LJ1200MessageProcessor.java | 12 +- .../lj1200/LJ1200TransponderMessage.java | 18 +- .../decode/ltrnet/DecodeConfigLTRNet.java | 10 +- .../module/decode/ltrnet/LTRCallEvent.java | 16 +- .../module/decode/ltrnet/LTRNetDecoder.java | 33 +- .../decode/ltrnet/LTRNetDecoderEditor.java | 30 +- .../decode/ltrnet/LTRNetDecoderState.java | 55 +- .../decode/ltrnet/LTRNetISWMessage.java | 22 +- .../module/decode/ltrnet/LTRNetMessage.java | 22 +- .../decode/ltrnet/LTRNetMessageFilter.java | 12 +- .../decode/ltrnet/LTRNetMessageProcessor.java | 33 +- .../decode/ltrnet/LTRNetOSWMessage.java | 24 +- .../ltrstandard/DecodeConfigLTRStandard.java | 10 +- .../ltrstandard/LTRStandardDecoder.java | 26 +- .../ltrstandard/LTRStandardDecoderEditor.java | 30 +- .../ltrstandard/LTRStandardDecoderState.java | 56 +- .../ltrstandard/LTRStandardMessageFilter.java | 14 +- .../LTRStandardMessageProcessor.java | 34 +- .../ltrstandard/message/CallEndMessage.java | 18 +- .../ltrstandard/message/CallMessage.java | 17 +- .../ltrstandard/message/IdleMessage.java | 16 +- .../message/LTRStandardMessage.java | 27 +- .../ltrstandard/message/UnknownMessage.java | 15 +- .../module/decode/mdc1200/MDCCallEvent.java | 12 +- .../module/decode/mdc1200/MDCDecoder.java | 53 +- .../decode/mdc1200/MDCDecoderState.java | 30 +- .../module/decode/mdc1200/MDCMessage.java | 16 +- .../decode/mdc1200/MDCMessageFilter.java | 10 +- .../decode/mdc1200/MDCMessageProcessor.java | 32 +- .../module/decode/mdc1200/MDCMessageType.java | 2 +- .../decode/mpt1327/DecodeConfigMPT1327.java | 12 +- .../decode/mpt1327/MPT1327CallEvent.java | 14 +- .../module/decode/mpt1327/MPT1327Decoder.java | 67 +- .../decode/mpt1327/MPT1327DecoderEditor.java | 20 +- .../decode/mpt1327/MPT1327DecoderState.java | 80 +- .../module/decode/mpt1327/MPT1327Message.java | 46 +- .../decode/mpt1327/MPT1327MessageFilter.java | 12 +- .../mpt1327/MPT1327MessageProcessor.java | 12 +- .../module/decode/nbfm/DecodeConfigNBFM.java | 6 +- .../module/decode/nbfm/NBFMDecoder.java | 11 +- .../module/decode/nbfm/NBFMDecoderEditor.java | 25 +- .../module/decode/p25/C4FMFrameListener.java | 15 + .../module/decode/p25/C4FMSlicer.java | 12 +- .../module/decode/p25/C4FMSymbolFilter.java | 43 +- .../decode/p25/DecodeConfigP25Phase1.java | 14 +- .../module/decode/p25/P25CallEvent.java | 12 +- .../module/decode/p25/P25Decoder.java | 14 +- .../module/decode/p25/P25DecoderEditor.java | 57 +- .../module/decode/p25/P25DecoderState.java | 776 +++++++++--------- .../module/decode/p25/P25Interleave.java | 27 +- .../module/decode/p25/P25MessageFramer.java | 119 ++- .../decode/p25/P25MessageProcessor.java | 32 +- .../module/decode/p25/P25_C4FMDecoder.java | 42 +- .../module/decode/p25/P25_LSMDecoder.java | 44 +- .../module/decode/p25/PatchGroup.java | 2 +- .../module/decode/p25/PatchGroupManager.java | 28 +- .../module/decode/p25/Trellis_1_2_Rate.java | 15 +- .../module/decode/p25/Trellis_3_4_Rate.java | 33 +- .../decode/p25/audio/P25AudioModule.java | 32 +- .../decode/p25/message/IAdjacentSite.java | 2 +- .../decode/p25/message/IBandIdentifier.java | 6 +- .../p25/message/IdentifierReceiver.java | 6 +- .../module/decode/p25/message/P25Message.java | 16 +- .../p25/message/filter/HDUMessageFilter.java | 12 +- .../p25/message/filter/LDUMessageFilter.java | 12 +- .../message/filter/P25MessageFilterSet.java | 8 +- .../p25/message/filter/PDUMessageFilter.java | 16 +- .../message/filter/TDULCMessageFilter.java | 12 +- .../p25/message/filter/TDUMessageFilter.java | 12 +- .../message/filter/TSBKMessageFilterSet.java | 26 +- .../decode/p25/message/hdu/HDUMessage.java | 24 +- .../decode/p25/message/ldu/LDU1Message.java | 24 +- .../decode/p25/message/ldu/LDU2Message.java | 27 +- .../decode/p25/message/ldu/LDUMessage.java | 18 +- .../ldu/lc/AdjacentSiteStatusBroadcast.java | 14 +- .../AdjacentSiteStatusBroadcastExplicit.java | 12 +- .../decode/p25/message/ldu/lc/CallAlert.java | 6 +- .../p25/message/ldu/lc/CallTermination.java | 6 +- .../ldu/lc/ChannelIdentifierUpdate.java | 8 +- .../lc/ChannelIdentifierUpdateExplicit.java | 8 +- .../ldu/lc/ExtendedFunctionCommand.java | 9 +- .../message/ldu/lc/GroupAffiliationQuery.java | 7 +- .../ldu/lc/GroupVoiceChannelUpdate.java | 10 +- .../lc/GroupVoiceChannelUpdateExplicit.java | 10 +- .../message/ldu/lc/GroupVoiceChannelUser.java | 7 +- .../message/ldu/lc/LDULCMessageFactory.java | 16 +- .../p25/message/ldu/lc/MessageUpdate.java | 7 +- .../ldu/lc/NetworkStatusBroadcast.java | 12 +- .../lc/NetworkStatusBroadcastExplicit.java | 10 +- .../ldu/lc/ProtectionParameterBroadcast.java | 9 +- .../message/ldu/lc/RFSSStatusBroadcast.java | 12 +- .../ldu/lc/RFSSStatusBroadcastExplicit.java | 12 +- .../lc/SecondaryControlChannelBroadcast.java | 12 +- ...ondaryControlChannelBroadcastExplicit.java | 12 +- .../p25/message/ldu/lc/StatusQuery.java | 7 +- .../p25/message/ldu/lc/StatusUpdate.java | 7 +- .../ldu/lc/SystemServiceBroadcast.java | 13 +- .../TelephoneInterconnectAnswerRequest.java | 15 +- ...TelephoneInterconnectVoiceChannelUser.java | 7 +- .../ldu/lc/UnitAuthenticationCommand.java | 7 +- .../ldu/lc/UnitRegistrationCommand.java | 7 +- .../ldu/lc/UnitToUnitAnswerRequest.java | 16 +- .../ldu/lc/UnitToUnitVoiceChannelUser.java | 7 +- .../ldu/lc/motorola/MotorolaOpcode_0.java | 7 +- .../decode/p25/message/pdu/PDUMessage.java | 24 +- .../p25/message/pdu/PDUMessageFactory.java | 131 +++ .../pdu/UnitToUnitChannelGrantExtended.java | 14 +- .../pdu/confirmed/PDUConfirmedMessage.java | 28 +- .../confirmed/PDUConfirmedMessageFactory.java | 2 +- .../message/pdu/confirmed/PDUTypeUnknown.java | 2 +- .../p25/message/pdu/confirmed/PacketData.java | 7 +- .../SNDCPActivateTDSContextAccept.java | 5 +- .../SNDCPActivateTDSContextReject.java | 5 +- .../SNDCPActivateTDSContextRequest.java | 5 +- .../confirmed/SNDCPDeactivateTDSContext.java | 5 +- .../message/pdu/confirmed/SNDCPUserData.java | 9 +- .../AdjacentStatusBroadcastExtended.java | 22 +- .../pdu/osp/control/CallAlertExtended.java | 19 +- .../GroupAffiliationQueryExtended.java | 19 +- .../GroupAffiliationResponseExtended.java | 21 +- .../osp/control/MessageUpdateExtended.java | 19 +- .../NetworkStatusBroadcastExtended.java | 22 +- .../control/ProtectionParameterBroadcast.java | 22 +- .../control/RFSSStatusBroadcastExtended.java | 20 +- .../control/RoamingAddressUpdateExtended.java | 22 +- .../pdu/osp/control/StatusQueryExtended.java | 14 +- .../pdu/osp/control/StatusUpdateExtended.java | 14 +- .../UnitRegistrationResponseExtended.java | 16 +- .../data/GroupDataChannelGrantExtended.java | 18 +- .../IndividualDataChannelGrantExtended.java | 22 + .../voice/GroupVoiceChannelGrantExplicit.java | 18 +- ...phoneInterconnectChannelGrantExplicit.java | 27 +- ...nterconnectChannelGrantUpdateExplicit.java | 22 + .../UnitToUnitAnswerRequestExplicit.java | 29 +- .../UnitToUnitVoiceChannelGrantExtended.java | 25 + ...ToUnitVoiceChannelGrantUpdateExtended.java | 18 +- .../decode/p25/message/tdu/TDUMessage.java | 14 +- .../tdu/lc/AdjacentSiteStatusBroadcast.java | 12 +- .../AdjacentSiteStatusBroadcastExplicit.java | 10 +- .../decode/p25/message/tdu/lc/CallAlert.java | 4 +- .../p25/message/tdu/lc/CallTermination.java | 4 +- .../tdu/lc/ChannelIdentifierUpdate.java | 6 +- .../lc/ChannelIdentifierUpdateExplicit.java | 6 +- .../tdu/lc/ExtendedFunctionCommand.java | 7 +- .../message/tdu/lc/GroupAffiliationQuery.java | 5 +- .../tdu/lc/GroupVoiceChannelUpdate.java | 8 +- .../lc/GroupVoiceChannelUpdateExplicit.java | 8 +- .../message/tdu/lc/GroupVoiceChannelUser.java | 5 +- .../p25/message/tdu/lc/MessageUpdate.java | 5 +- .../tdu/lc/NetworkStatusBroadcast.java | 10 +- .../lc/NetworkStatusBroadcastExplicit.java | 8 +- .../tdu/lc/ProtectionParameterBroadcast.java | 7 +- .../message/tdu/lc/RFSSStatusBroadcast.java | 10 +- .../tdu/lc/RFSSStatusBroadcastExplicit.java | 10 +- .../lc/SecondaryControlChannelBroadcast.java | 10 +- ...ondaryControlChannelBroadcastExplicit.java | 10 +- .../p25/message/tdu/lc/StatusQuery.java | 5 +- .../p25/message/tdu/lc/StatusUpdate.java | 5 +- .../tdu/lc/SystemServiceBroadcast.java | 11 +- .../message/tdu/lc/TDULCMessageFactory.java | 9 +- .../message/tdu/lc/TDULinkControlMessage.java | 38 +- .../TelephoneInterconnectAnswerRequest.java | 13 +- ...TelephoneInterconnectVoiceChannelUser.java | 5 +- .../tdu/lc/UnitAuthenticationCommand.java | 7 +- .../tdu/lc/UnitRegistrationCommand.java | 7 +- .../tdu/lc/UnitToUnitAnswerRequest.java | 5 +- .../tdu/lc/UnitToUnitVoiceChannelUser.java | 5 +- .../decode/p25/message/tsbk/ChannelGrant.java | 14 +- .../p25/message/tsbk/GroupChannelGrant.java | 10 +- .../tsbk/GroupChannelGrantExplicit.java | 10 +- .../message/tsbk/GroupMultiChannelGrant.java | 12 +- .../p25/message/tsbk/ServiceMessage.java | 17 +- .../decode/p25/message/tsbk/TSBKMessage.java | 20 +- .../p25/message/tsbk/TSBKMessageFactory.java | 124 +-- .../p25/message/tsbk/UnitChannelGrant.java | 10 +- ...ntrolChannelBaseStationIdentification.java | 12 +- .../message/tsbk/motorola/MotorolaOpcode.java | 2 +- .../tsbk/motorola/MotorolaTSBKMessage.java | 10 +- .../p25/message/tsbk/motorola/PatchGroup.java | 10 +- .../message/tsbk/motorola/PatchGroupAdd.java | 8 +- .../tsbk/motorola/PatchGroupDelete.java | 8 +- .../motorola/PatchGroupVoiceChannelGrant.java | 12 +- .../PatchGroupVoiceChannelGrantUpdate.java | 12 +- .../PlannedControlChannnelShutdown.java | 8 +- .../message/tsbk/motorola/SystemLoading.java | 8 +- ...afficChannelBaseStationIdentification.java | 8 +- .../tsbk/osp/control/AcknowledgeResponse.java | 12 +- .../osp/control/AdjacentStatusBroadcast.java | 18 +- .../osp/control/AuthenticationCommand.java | 12 +- .../message/tsbk/osp/control/CallAlert.java | 12 +- .../tsbk/osp/control/DenyResponse.java | 14 +- .../osp/control/ExtendedFunctionCommand.java | 14 +- .../osp/control/GroupAffiliationQuery.java | 12 +- .../osp/control/GroupAffiliationResponse.java | 14 +- .../tsbk/osp/control/IdentifierUpdate.java | 12 +- .../osp/control/IdentifierUpdateNonVUHF.java | 10 +- .../osp/control/IdentifierUpdateTDMA.java | 10 +- .../osp/control/IdentifierUpdateVUHF.java | 10 +- .../control/LocationRegistrationResponse.java | 14 +- .../tsbk/osp/control/MessageUpdate.java | 12 +- .../osp/control/NetworkStatusBroadcast.java | 18 +- .../control/ProtectionParameterUpdate.java | 14 +- .../tsbk/osp/control/QueuedResponse.java | 14 +- .../tsbk/osp/control/RFSSStatusBroadcast.java | 16 +- .../osp/control/RadioUnitMonitorCommand.java | 12 +- .../osp/control/RoamingAddressCommand.java | 14 +- .../SecondaryControlChannelBroadcast.java | 16 +- ...ondaryControlChannelBroadcastExplicit.java | 12 +- .../message/tsbk/osp/control/StatusQuery.java | 12 +- .../tsbk/osp/control/StatusUpdate.java | 12 +- .../tsbk/osp/control/SyncBroadcast.java | 24 +- .../tsbk/osp/control/SystemService.java | 2 +- .../osp/control/SystemServiceBroadcast.java | 16 +- .../osp/control/TimeAndDateAnnouncement.java | 14 +- .../UnitDeregistrationAcknowledge.java | 12 +- .../osp/control/UnitRegistrationCommand.java | 12 +- .../osp/control/UnitRegistrationResponse.java | 14 +- .../data/GroupDataChannelAnnouncement.java | 12 +- .../GroupDataChannelAnnouncementExplicit.java | 12 +- .../tsbk/osp/data/GroupDataChannelGrant.java | 12 +- .../osp/data/IndividualDataChannelGrant.java | 12 +- .../p25/message/tsbk/osp/data/SNDCPData.java | 10 +- .../SNDCPDataChannelAnnouncementExplicit.java | 14 +- .../tsbk/osp/data/SNDCPDataChannelGrant.java | 14 +- .../tsbk/osp/data/SNDCPDataPageRequest.java | 8 +- .../osp/voice/GroupVoiceChannelGrant.java | 12 +- .../voice/GroupVoiceChannelGrantUpdate.java | 12 +- .../GroupVoiceChannelGrantUpdateExplicit.java | 12 +- .../TelephoneInterconnectAnswerRequest.java | 16 +- ...elephoneInterconnectVoiceChannelGrant.java | 12 +- ...neInterconnectVoiceChannelGrantUpdate.java | 23 + .../osp/voice/UnitToUnitAnswerRequest.java | 12 +- .../voice/UnitToUnitVoiceChannelGrant.java | 12 +- .../UnitToUnitVoiceChannelGrantUpdate.java | 12 +- .../p25/message/tsbk/vendor/VendorOpcode.java | 2 +- .../p25/message/vselp/VSELP1Message.java | 12 +- .../p25/message/vselp/VSELP2Message.java | 12 +- .../decode/p25/reference/DataUnitID.java | 2 +- .../decode/p25/reference/DenyReason.java | 2 +- .../module/decode/p25/reference/Digit.java | 2 +- .../decode/p25/reference/Encryption.java | 2 +- .../p25/reference/ExtendedFunction.java | 2 +- .../p25/reference/IPHeaderCompression.java | 2 +- .../decode/p25/reference/IPProtocol.java | 2 +- .../p25/reference/LinkControlOpcode.java | 2 +- .../p25/reference/MDPConfigurationOption.java | 2 +- .../module/decode/p25/reference/Opcode.java | 2 +- .../p25/reference/P25NetworkCallsign.java | 2 +- .../decode/p25/reference/PDUFormat.java | 2 +- .../module/decode/p25/reference/PDUType.java | 2 +- .../p25/reference/QueuedResponseReason.java | 2 +- .../module/decode/p25/reference/Response.java | 2 +- .../SNDCPActivationRejectReason.java | 2 +- .../module/decode/p25/reference/Service.java | 2 +- .../p25/reference/ServiceAccessPoint.java | 2 +- .../decode/p25/reference/StackOperation.java | 2 +- .../module/decode/p25/reference/Status.java | 2 +- .../module/decode/p25/reference/Vendor.java | 2 +- .../reference/VendorLinkControlOpcode.java | 2 +- .../decode/passport/DecodeConfigPassport.java | 6 +- .../module/decode/passport/PassportBand.java | 2 +- .../decode/passport/PassportCallEvent.java | 14 +- .../decode/passport/PassportDecoder.java | 35 +- .../passport/PassportDecoderEditor.java | 25 +- .../decode/passport/PassportDecoderState.java | 52 +- .../decode/passport/PassportMessage.java | 26 +- .../passport/PassportMessageFilter.java | 12 +- .../passport/PassportMessageProcessor.java | 14 +- .../decode/tait/Tait1200ANIMessage.java | 30 +- .../tait/Tait1200ANIMessageProcessor.java | 12 +- .../module/decode/tait/Tait1200CallEvent.java | 12 +- .../module/decode/tait/Tait1200Decoder.java | 45 +- .../decode/tait/Tait1200DecoderState.java | 36 +- .../decode/tait/Tait1200GPSMessage.java | 26 +- .../tait/Tait1200GPSMessageProcessor.java | 12 +- .../decode/tait/Tait1200MessageFilter.java | 10 +- .../demodulate/am/AMDemodulatorModule.java | 34 +- .../audio/DemodulatedAudioFilterModule.java | 31 +- .../demodulate/fm/FMDemodulatorModule.java | 28 +- .../dsheirer}/module/log/CallEventLogger.java | 10 +- .../log/EventLogConfigurationEditor.java | 14 +- .../dsheirer}/module/log/EventLogManager.java | 15 +- .../dsheirer}/module/log/EventLogType.java | 2 +- .../dsheirer}/module/log/EventLogger.java | 6 +- .../module/log/MessageEventLogger.java | 12 +- .../log/config/EventLogConfiguration.java | 11 +- .../dsheirer}/playlist/PlaylistManager.java | 42 +- .../github/dsheirer}/playlist/PlaylistV2.java | 12 +- .../playlist/version1/AliasDirectory.java | 9 +- .../playlist/version1/AliasListOld.java | 40 +- .../playlist/version1/ChannelMapList.java | 9 +- .../dsheirer}/playlist/version1/Group.java | 7 +- .../version1/PlaylistConverterV1ToV2.java | 30 +- .../playlist/version1/PlaylistV1.java | 8 +- .../dsheirer}/playlist/version1/Site.java | 7 +- .../dsheirer}/playlist/version1/System.java | 5 +- .../playlist/version1/SystemList.java | 7 +- .../properties/SystemProperties.java | 67 +- .../radioreference/RadioReferenceService.java | 2 +- .../dsheirer}/record/AudioRecorder.java | 50 +- .../record/RecordConfigurationEditor.java | 14 +- .../github/dsheirer}/record/Recorder.java | 2 +- .../dsheirer}/record/RecorderManager.java | 44 +- .../github/dsheirer}/record/RecorderType.java | 2 +- .../record/config/RecordConfiguration.java | 11 +- .../dsheirer}/record/mp3/MP3Recorder.java | 16 +- .../wave/AudioPacketMonoWaveReader.java | 16 +- .../wave/ComplexBufferWaveRecorder.java | 37 +- .../dsheirer}/record/wave/MonoWaveReader.java | 16 +- .../record/wave/RealBufferWaveRecorder.java | 30 +- .../dsheirer}/record/wave/WaveUtils.java | 6 +- .../dsheirer}/record/wave/WaveWriter.java | 23 +- .../github/dsheirer}/sample/Broadcaster.java | 2 +- .../github/dsheirer}/sample/Buffer.java | 2 +- .../dsheirer}/sample/BufferOverflow.java | 2 +- .../dsheirer}/sample/ConversionUtils.java | 24 +- .../github/dsheirer}/sample/Listener.java | 2 +- .../sample/OverflowableTransferQueue.java | 4 +- .../github/dsheirer}/sample/Provider.java | 2 +- .../github/dsheirer}/sample/SampleType.java | 2 +- .../sample/adapter/ByteSampleAdapter.java | 2 +- .../sample/adapter/ChannelShortAdapter.java | 14 +- .../ComplexToFloatSampleConverter.java | 14 +- .../adapter/FloatArrayToComplexAdapter.java | 6 +- .../sample/adapter/ISampleAdapter.java | 2 +- .../sample/adapter/ShortAdapter.java | 4 +- .../sample/adapter/ShortToFloatMap.java | 2 +- .../github/dsheirer}/sample/adapter/Test.java | 5 +- .../dsheirer}/sample/complex/Complex.java | 36 +- .../sample/complex/ComplexBuffer.java | 8 +- .../ComplexBufferToStreamConverter.java | 6 +- .../complex/ComplexSampleAssembler.java | 8 +- .../complex/ComplexSampleBroadcaster.java | 2 +- .../complex/ComplexSampleListListener.java | 2 +- .../sample/complex/ComplexSampleListener.java | 2 +- .../sample/complex/ComplexSampleUtils.java | 2 +- .../ComplexToComplexBufferAssembler.java | 4 +- .../complex/IComplexBufferListener.java | 4 +- .../sample/complex/RateCounter_CB.java | 5 +- .../sample/complex/ThreadKiller.java | 2 +- .../sample/decimator/ComplexDecimator.java | 6 +- .../dsheirer}/sample/decimator/Decimator.java | 10 +- .../sample/decimator/RealDecimator.java | 6 +- .../real/IFilteredRealBufferListener.java | 4 +- .../real/IFilteredRealBufferProvider.java | 4 +- .../sample/real/IOverflowListener.java | 4 +- .../real/IUnFilteredRealBufferListener.java | 4 +- .../real/IUnFilteredRealBufferProvider.java | 4 +- .../dsheirer}/sample/real/RateCounter_RB.java | 5 +- .../dsheirer}/sample/real/RealBuffer.java | 8 +- .../real/RealBufferToStreamConverter.java | 6 +- .../sample/real/RealSampleBroadcaster.java | 4 +- .../sample/real/RealSampleListener.java | 2 +- .../sample/real/RealSampleProvider.java | 2 +- .../real/RealToRealBufferAssembler.java | 4 +- .../dsheirer}/settings/ColorSetting.java | 5 +- .../settings/ColorSettingMenuItem.java | 14 +- .../ColorSettingResetAllMenuItem.java | 9 +- .../settings/ColorSettingResetMenuItem.java | 11 +- .../dsheirer}/settings/FileSetting.java | 2 +- .../dsheirer}/settings/MapViewSetting.java | 6 +- .../github/dsheirer}/settings/Setting.java | 2 +- .../settings/SettingChangeListener.java | 2 +- .../github/dsheirer}/settings/Settings.java | 29 +- .../dsheirer}/settings/SettingsManager.java | 27 +- .../dsheirer}/source/BufferReceiver.java | 4 +- .../github/dsheirer/source/ComplexSource.java | 13 + .../source/IControllableFileSource.java | 9 +- .../source/IFrameLocationListener.java | 2 +- .../source/InvalidFrequencyException.java | 2 +- .../io/github/dsheirer/source/RealSource.java | 14 + .../github/dsheirer}/source/Source.java | 16 +- .../source/SourceConfigurationEditor.java | 25 +- .../dsheirer}/source/SourceException.java | 2 +- .../dsheirer}/source/SourceManager.java | 16 +- .../github/dsheirer}/source/SourceType.java | 2 +- .../source/config/SourceConfigFactory.java | 4 +- .../source/config/SourceConfigMixer.java | 10 +- .../source/config/SourceConfigNone.java | 4 +- .../source/config/SourceConfigRecording.java | 12 +- .../source/config/SourceConfigTuner.java | 11 +- .../source/config/SourceConfiguration.java | 8 +- .../dsheirer}/source/mixer/ComplexMixer.java | 42 +- .../dsheirer}/source/mixer/MixerChannel.java | 6 +- .../mixer/MixerChannelConfiguration.java | 2 +- .../dsheirer}/source/mixer/MixerManager.java | 44 +- .../source/mixer/MixerSourceEditor.java | 41 +- .../source/mixer/RealMixerSource.java | 44 +- .../source/mixer/SystemMixerDevices.java | 15 +- .../dsheirer}/source/recording/Recording.java | 24 +- .../recording/RecordingConfiguration.java | 9 +- .../recording/RecordingSourceManager.java | 33 +- .../source/tuner/ITunerChannelProvider.java | 14 +- .../source/tuner/LibUSBTransferProcessor.java | 8 +- .../dsheirer}/source/tuner/MixerTuner.java | 24 +- .../source/tuner/MixerTunerDataLine.java | 2 +- .../source/tuner/MixerTunerType.java | 2 +- .../github/dsheirer}/source/tuner/Tuner.java | 47 +- .../dsheirer}/source/tuner/TunerChannel.java | 4 +- .../source/tuner/TunerChannelProvider.java | 27 + .../source/tuner/TunerChannelSource.java | 102 +-- .../dsheirer}/source/tuner/TunerClass.java | 2 +- .../source/tuner/TunerController.java | 70 +- .../dsheirer}/source/tuner/TunerEditor.java | 42 +- .../dsheirer}/source/tuner/TunerEvent.java | 2 +- .../dsheirer}/source/tuner/TunerManager.java | 40 +- .../dsheirer}/source/tuner/TunerModel.java | 38 +- .../source/tuner/TunerSourceEditor.java | 16 +- .../tuner/TunerSpectralDisplayManager.java | 16 +- .../dsheirer}/source/tuner/TunerType.java | 2 +- .../source/tuner/TunerViewPanel.java | 36 +- .../tuner/airspy/AirspyDeviceInformation.java | 18 +- .../tuner/airspy/AirspySampleAdapter.java | 8 +- .../source/tuner/airspy/AirspySampleRate.java | 2 +- .../source/tuner/airspy/AirspyTuner.java | 31 +- .../airspy/AirspyTunerConfiguration.java | 10 +- .../tuner/airspy/AirspyTunerController.java | 67 +- .../tuner/airspy/AirspyTunerEditor.java | 56 +- .../configuration/TunerConfiguration.java | 6 +- .../TunerConfigurationEditor.java | 4 +- .../TunerConfigurationEvent.java | 2 +- .../TunerConfigurationFactory.java | 48 +- .../TunerConfigurationModel.java | 29 +- .../source/tuner/ettus/B100Tuner.java | 24 +- .../tuner/ettus/B100TunerEditorPanel.java | 10 +- .../source/tuner/fcd/FCDCommand.java | 4 +- .../dsheirer}/source/tuner/fcd/FCDModel.java | 2 +- .../dsheirer}/source/tuner/fcd/FCDTuner.java | 32 +- .../source/tuner/fcd/FCDTunerController.java | 38 +- .../fcd/proV1/FCD1TunerConfiguration.java | 14 +- .../tuner/fcd/proV1/FCD1TunerController.java | 68 +- .../tuner/fcd/proV1/FCD1TunerEditor.java | 72 +- .../fcd/proplusV2/FCD2TunerConfiguration.java | 8 +- .../fcd/proplusV2/FCD2TunerController.java | 16 +- .../tuner/fcd/proplusV2/FCD2TunerEditor.java | 42 +- .../frequency/DCTrackingFrequencyControl.java | 15 +- .../tuner/frequency/FrequencyChangeEvent.java | 2 +- .../FrequencyChangeProcessorWrapper.java | 6 +- .../tuner/frequency/FrequencyController.java | 19 +- .../frequency/FrequencyLimitException.java | 2 +- .../frequency/IFrequencyChangeListener.java | 8 +- .../frequency/IFrequencyChangeProcessor.java | 4 +- .../frequency/IFrequencyChangeProvider.java | 4 +- .../source/tuner/hackrf/HackRFTuner.java | 30 +- .../hackrf/HackRFTunerConfiguration.java | 14 +- .../tuner/hackrf/HackRFTunerController.java | 35 +- .../tuner/hackrf/HackRFTunerEditor.java | 91 +- .../source/tuner/rtl/RTL2832Tuner.java | 38 +- .../tuner/rtl/RTL2832TunerController.java | 79 +- .../tuner/rtl/e4k/E4KTunerConfiguration.java | 24 +- .../tuner/rtl/e4k/E4KTunerController.java | 70 +- .../source/tuner/rtl/e4k/E4KTunerEditor.java | 73 +- .../rtl/r820t/R820TTunerConfiguration.java | 44 +- .../tuner/rtl/r820t/R820TTunerController.java | 26 +- .../tuner/rtl/r820t/R820TTunerEditor.java | 116 ++- .../tuner/usb/USBTransferProcessor.java | 52 +- .../source/tuner/usb/USBTunerDevice.java | 6 +- .../dsheirer}/source/tuner/usb/USBUtils.java | 11 +- .../source/wave/ComplexWaveSource.java | 42 +- .../dsheirer}/source/wave/RealWaveSource.java | 44 +- .../spectrum/ChannelOverlayPanel.java | 30 +- .../spectrum/ChannelSpectrumPanel.java | 86 +- .../dsheirer}/spectrum/DFTProcessor.java | 38 +- .../spectrum/DFTResultsListener.java | 2 +- .../spectrum/DFTResultsProvider.java | 2 +- .../github/dsheirer}/spectrum/DFTSize.java | 2 +- .../spectrum/IDFTWidthChangeProcessor.java | 2 +- .../dsheirer}/spectrum/OverlayPanel.java | 44 +- .../github/dsheirer}/spectrum/Pausable.java | 4 +- .../spectrum/SpectralDisplayAdjuster.java | 8 +- .../spectrum/SpectralDisplayPanel.java | 84 +- .../dsheirer}/spectrum/SpectrumFrame.java | 19 +- .../dsheirer}/spectrum/SpectrumPanel.java | 42 +- .../spectrum/WaterfallColorModel.java | 2 +- .../dsheirer}/spectrum/WaterfallPanel.java | 35 +- .../converter/ComplexDecibelConverter.java | 12 +- .../converter/DFTResultsConverter.java | 8 +- .../converter/RealDecibelConverter.java | 6 +- .../spectrum/menu/AveragingItem.java | 11 +- .../dsheirer}/spectrum/menu/DFTSizeItem.java | 11 +- .../spectrum/menu/FFTWindowTypeItem.java | 11 +- .../spectrum/menu/FrameRateItem.java | 9 +- .../spectrum/menu/SmoothingItem.java | 16 +- .../spectrum/menu/SmoothingTypeItem.java | 11 +- .../github/dsheirer}/util/Angle.java | 2 +- .../github/dsheirer}/util/ArcTangent.java | 4 +- .../github/dsheirer}/util/ColorIcon.java | 9 +- .../dsheirer}/util/MemoryUsageLogger.java | 4 +- .../github/dsheirer}/util/StringUtils.java | 2 +- .../github/dsheirer}/util/ThreadPool.java | 4 +- .../github/dsheirer}/util/TimeStamp.java | 2 +- .../github/dsheirer}/util/XTEA.java | 8 +- .../java/org/jdesktop/beans/AbstractBean.java | 26 +- .../java/org/jdesktop/swingx/JXMapKit.form | 4 +- .../java/org/jdesktop/swingx/JXMapKit.java | 56 +- .../java/org/jdesktop/swingx/JXMapViewer.java | 110 ++- .../jdesktop/swingx/OSMTileFactoryInfo.java | 2 +- .../swingx/VirtualEarthTileFactoryInfo.java | 10 +- .../swingx/input/CenterMapListener.java | 11 +- .../jdesktop/swingx/input/PanKeyListener.java | 6 +- .../swingx/input/PanMouseInputListener.java | 12 +- .../input/ZoomMouseWheelListenerCenter.java | 4 +- .../input/ZoomMouseWheelListenerCursor.java | 8 +- .../swingx/mapviewer/AbstractTileFactory.java | 13 +- .../mapviewer/DefaultWaypointRenderer.java | 11 +- .../swingx/mapviewer/LocalResponseCache.java | 6 +- .../org/jdesktop/swingx/mapviewer/Tile.java | 4 +- .../jdesktop/swingx/mapviewer/TileCache.java | 3 +- .../swingx/mapviewer/TileFactory.java | 12 +- .../swingx/mapviewer/TileFactoryInfo.java | 22 +- .../swingx/mapviewer/WaypointPainter.java | 9 +- .../swingx/mapviewer/WaypointRenderer.java | 8 +- .../CylindricalProjectionTileFactory.java | 6 +- .../mapviewer/bmng/SLMapServerInfo.java | 2 +- .../mapviewer/empty/EmptyTileFactory.java | 8 +- .../mapviewer/esri/ESRITileFactory.java | 10 +- .../swingx/mapviewer/util/GeoUtil.java | 12 +- .../swingx/painter/AbstractPainter.java | 13 +- .../swingx/painter/CompoundPainter.java | 4 +- .../org/jdesktop/swingx/painter/Painter.java | 2 +- .../swingx/util/GraphicsUtilities.java | 57 +- .../org/jdesktop/swingx/util/ShapeUtils.java | 6 +- .../alias/action/beep/BeepAction.java | 28 - .../smartjava/audio/squelch/SquelchMode.java | 25 - .../java/ua/in/smartjava/filter/IFilter.java | 36 - .../module/decode/p25/C4FMFrameListener.java | 15 - .../p25/message/pdu/PDUMessageFactory.java | 131 --- .../IndividualDataChannelGrantExtended.java | 25 - ...nterconnectChannelGrantUpdateExplicit.java | 22 - .../UnitToUnitVoiceChannelGrantExtended.java | 25 - ...neInterconnectVoiceChannelGrantUpdate.java | 23 - .../ua/in/smartjava/source/ComplexSource.java | 13 - .../ua/in/smartjava/source/RealSource.java | 14 - .../source/tuner/TunerChannelProvider.java | 27 - src/main/resources/logback.xml | 2 +- 981 files changed, 8368 insertions(+), 9049 deletions(-) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/Alias.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasController.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasEditor.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasEvent.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasFactory.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasList.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasModel.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/AliasNameEditor.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/ComponentEditor.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/ComponentValidationException.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/MultipleAliasEditor.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/PatchGroupAlias.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/AliasAction.java (60%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/AliasActionEditor.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/AliasActionListener.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/AliasActionManager.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/AliasActionType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/RecurringAction.java (96%) create mode 100644 src/main/java/io/github/dsheirer/alias/action/beep/BeepAction.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/beep/BeepActionEditor.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/clip/ClipAction.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/clip/ClipActionEditor.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/script/ScriptAction.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/action/script/ScriptActionEditor.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/AliasID.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/AliasIDType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/AliasIdentifierEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/WildcardID.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/broadcast/BroadcastChannel.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/broadcast/BroadcastChannelEditor.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/esn/ESNEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/esn/Esn.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/fleetsync/FleetsyncID.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/fleetsync/FleetsyncIDEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/lojack/LoJackFunctionAndID.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/lojack/LoJackIDEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mdc/MDC1200ID.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mdc/MDC1200IDEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mobileID/MINEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mobileID/Min.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mpt1327/MPT1327ID.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/mpt1327/MPT1327IDEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/nonrecordable/NonRecordable.java (70%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/nonrecordable/NonRecordableEditor.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/priority/Priority.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/priority/PriorityEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/siteID/SiteID.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/siteID/SiteIDEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/status/StatusID.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/status/StatusIDEditor.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/talkgroup/TalkgroupID.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/talkgroup/TalkgroupIDEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/uniqueID/UniqueID.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/alias/id/uniqueID/UniqueIDEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioChannelPanel.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioChannelsPanel.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioEvent.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioException.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioFormats.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioManager.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioModule.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioPacket.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioPacketRateCounter.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioPanel.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/AudioUtils.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/IAudioController.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/IAudioPacketListener.java (56%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/IAudioPacketProvider.java (67%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/InversionFrequency.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/AudioBroadcaster.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/AudioRecording.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastConfiguration.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastConfigurationEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastEvent.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastFactory.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastFormat.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastModel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastPanel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastServerType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastState.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/BroadcastStatusPanel.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/IBroadcastMetadataUpdater.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/StreamManager.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/broadcastify/BroadcastifyConfiguration.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/broadcastify/BroadcastifyConfigurationEditor.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/broadcastify/UserFeedSelectionDialog.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastAudioBroadcaster.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastBroadcastMetadataUpdater.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastConfiguration.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastHTTPAudioBroadcaster.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastHTTPConfiguration.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastHTTPConfigurationEditor.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastHeader.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastTCPAudioBroadcaster.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastTCPConfiguration.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/IcecastTCPConfigurationEditor.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/codec/IcecastCodecFactory.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/icecast/codec/IcecastEncoder.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v1/ShoutcastMetadata.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v1/ShoutcastV1AudioBroadcaster.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v1/ShoutcastV1BroadcastMetadataUpdater.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v1/ShoutcastV1Configuration.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v1/ShoutcastV1ConfigurationEditor.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ShoutcastV2AudioBroadcaster.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ShoutcastV2Configuration.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ShoutcastV2ConfigurationEditor.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/AuthenticateBroadcast.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/CacheableXMLMetadata.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/ConfigureIcyGenre.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/ConfigureIcyName.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/ConfigureIcyPublic.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/ConfigureIcyURL.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/FlushCachedMetadata.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/MP3Audio.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/NegotiateBufferSize.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/NegotiateMaxPayloadSize.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/PassThroughXMLMetadata.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/RequestCipher.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/SetupBroadcast.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/Standby.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/StreamMimeType.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/TerminateBroadcast.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxDecoder.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxEncoder.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxMessage.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxMessageClass.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxMessageFactory.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxMessageType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxMetadata.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/broadcast/shoutcast/v2/ultravox/UltravoxProtocolFactory.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/convert/IAudioConverter.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/convert/ISilenceGenerator.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/convert/MP3AudioConverter.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/convert/MP3FrameInspector.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/convert/MP3SilenceGenerator.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/invert/AudioAdapter.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/invert/AudioInverter.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/invert/AudioType.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/invert/IAudioTypeListener.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/output/AudioOutput.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/output/MonoAudioOutput.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/output/StereoAudioOutput.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/ISquelchStateListener.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/ISquelchStateProvider.java (65%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/ManualSquelchController.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/SquelchController.java (80%) create mode 100644 src/main/java/io/github/dsheirer/audio/squelch/SquelchMode.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/SquelchState.java (55%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/audio/squelch/TrunkingSquelchController.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/BinaryMessage.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/BitSetFullException.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/CorrectedBinaryMessage.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/ISyncDetectListener.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/ISyncProcessor.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/MessageFramer.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/MultiSyncPatternMatcher.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/SoftSyncDetector.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/SyncDetector.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/SyncPattern.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/bits/SyncPatternMatcher.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/BooleanAveragingBuffer.java (71%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/CircularBuffer.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/ComplexCircularBuffer.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/ComplexTappedCircularBuffer.java (60%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/DoubleCircularBuffer.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/FloatAveragingBuffer.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/buffer/FloatCircularBuffer.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/details/ChannelDetailPanel.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/heartbeat/Heartbeat.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/heartbeat/IHeartbeatListener.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/heartbeat/IHeartbeatProvider.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/AliasedIdentifier.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/AliasedIntegerAttributeMonitor.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/AliasedStringAttributeMonitor.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/Attribute.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/AttributeChangeRequest.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/AttributeMonitor.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/ChannelMetadataModel.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/ChannelMetadataPanel.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/ChannelMetadataViewer.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/IAttributeChangeRequestListener.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/IAttributeChangeRequestProvider.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/Metadata.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/MutableMetadata.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/metadata/MutableMetadataChangeEvent.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/AlwaysUnsquelchedDecoderState.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/ChangeChannelTimeoutEvent.java (71%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/ChannelState.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/ChannelStateSelectionListener.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/DecoderState.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/DecoderStateEvent.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/IDecoderStateEventListener.java (57%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/IDecoderStateEventProvider.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/state/State.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/traffic/TrafficChannelAllocationEvent.java (71%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/channel/traffic/TrafficChannelManager.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/ControllerPanel.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/NamingThreadFactory.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/Channel.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelController.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelEditor.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelEvent.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelEventListener.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelModel.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelProcessingManager.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelSelectionManager.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ChannelUtils.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/ConfigurationValidationException.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/IChannelEventBroadcaster.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/IChannelEventListener.java (53%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/IChannelEventProvider.java (64%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/NameConfigurationEditor.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/TrafficChannelEvent.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMap.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMapEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMapEvent.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMapManager.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMapManagerFrame.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelMapModel.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelRange.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/channel/map/ChannelRangeModel.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/controller/config/Configuration.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/NRZDecoder.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/am/AMDemodulator.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/am/AMDemodulator_CB.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/BooleanAveragingFilter.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/ComplexFilter.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/FilterFactory.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/Filters.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/FloatFIRFilter.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/FloatHalfBandFilter.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/FloatHalfBandNoDecimateFilter.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/GoertzelFilter.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/IIRBiQuadraticFilter.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/LTRPulseShapingFilter.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/SquaringFilter.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/Window.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/cic/ComplexPrimeCICDecimate.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/cic/RealPrimeCICDecimate.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilter.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilterLyons.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilter_CB.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilter_RB.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilter_R_R.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/DCRemovalFilter_RealBuffer.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/IIRSinglePoleDCRemovalFilter.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/dc/IIRSinglePoleDCRemovalFilter_RB.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/design/FilterDesignException.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/design/FilterView.css (100%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/design/FilterView.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/design/FilterViewer.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/equalizer/CMAEqualizer.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/FIRFilter.java (61%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/FIRFilterSpecification.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/complex/ComplexFIRFilter.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/complex/ComplexFIRFilter_CB_CB.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/real/RealFIRFilter.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/real/RealFIRFilter_RB_RB.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/real/RealFIRFilter_R_R.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/remez/FIRLinearPhaseFilterType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/remez/Grid.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/fir/remez/RemezFIRFilterDesigner.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/halfband/complex/HalfBandFilter_CB_CB.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/halfband/real/HalfBandFilter.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/halfband/real/HalfBandFilter_RB_RB.java (59%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/hilbert/HilbertTransform.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/hilbert/InterpolatingHilbertTransform.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/iir/DeemphasisFilter.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/interpolator/Interpolator.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/interpolator/RealInterpolator.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/polyphase/FilterStage.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/polyphase/PolyphaseFIRDecimatingFilter_RB.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/polyphase/PolyphaseFIRInterpolatingFilter.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/smoothing/GaussianSmoothingFilter.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/smoothing/NoSmoothingFilter.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/smoothing/RectangularSmoothingFilter.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/smoothing/SmoothingFilter.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/filter/smoothing/TriangularSmoothingFilter.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/fm/FMDemodulator.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/fm/FMDemodulator_CB.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/fm/FMDiscriminator.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/fsk/FSK2Decoder.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/fsk/LTRFSKDecoder.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/AutomaticGainControl.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/AutomaticGainControl_RB.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/ComplexAutomaticGainControl.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/ComplexFeedForwardGainControl.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/ComplexGain.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/DirectGainControl.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/GainController.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/gain/NonClippingGain.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/mixer/Oscillator.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/psk/LSMDemodulator.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/psk/QPSKPolarSlicer.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/psk/QPSKStarSlicer.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/Dibit.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/FrameSync.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/Slicer.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/SymbolEvent.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/SyncDetectListener.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/dsp/symbol/SyncDetectProvider.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/BCH_63_16_11.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/BerlekempMassey_63.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRC.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCFleetsync.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCLJ.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCLTR.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCP25.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCPassport.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/CRCUtil.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Checksum.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/ChecksumTest.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/ChecksumType.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Golay18.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Golay23.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Golay24.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Hamming10.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/Hamming15.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/ReedSolomon_63_47_17.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/trellis/DMRNode.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/trellis/Node.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/trellis/Path.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/trellis/ViterbiDecoder.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/edac/trellis/ViterbiDecoder_3_4_DMR.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/filter/AllPassFilter.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/filter/Filter.java (57%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/filter/FilterEditorPanel.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/filter/FilterElement.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/filter/FilterSet.java (97%) create mode 100644 src/main/java/io/github/dsheirer/filter/IFilter.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/ChannelMemoryLogger.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/SDRTrunk.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/control/ConstellationViewer.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/control/CurveFittedAreaChart.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/control/JFrequencyControl.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/DocumentListenerEditor.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/Editor.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/EditorValidationException.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/EmptyEditor.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/EmptyValidatingEditor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/gui/editor/ValidatingEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/Icon.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconEditor.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconListCellRenderer.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconManager.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconSelector.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconSet.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconTableCellRenderer.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/IconTableModel.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/icon/ImageFilter.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/Instrumentable.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/InstrumentableProcessingChain.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/ConstellationPanel.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/DecoderSelectionFrame.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/DecoderViewFrame.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/SampleModel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/SourceControllerFrame.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/gui/Viewer.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/Tap.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/TapGroup.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/TapListener.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/TapType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/TapViewPanel.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/event/SyncDetectTap.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/AdditiveFloatTap.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/BinaryTap.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/BinaryTapViewPanel.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/ComplexSampleTap.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/ComplexSampleTapViewPanel.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/ComplexTap.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/ComplexTapViewPanel.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/DibitTap.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/DibitTapViewPanel.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/EyeDiagramData.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/EyeDiagramDataTap.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/EyeDiagramDataTapPanel.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/FloatBufferTap.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/FloatTap.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/FloatTapPhaseViewPanel.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/FloatTapViewPanel.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/GainFloatTap.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/QPSKTap.java (64%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/QPSKTapPanel.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/StreamTap.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/SymbolEventTap.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/instrument/tap/stream/SymbolEventTapViewPanel.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/DefaultIcon.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/MapIcon.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/MapMouseListener.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/MapPanel.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/MapService.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/Plottable.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/PlottableEntity.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/PlottableEntityPainter.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/PlottableEntityRenderer.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/PlottableUpdateListener.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/SelectionAdapter.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/map/SelectionPainter.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/message/IMessageListener.java (52%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/message/IMessageProvider.java (64%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/message/Message.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/message/MessageDirection.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/message/MessageType.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/Module.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/ProcessingChain.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/AuxDecodeConfigurationEditor.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/DecodeConfigurationEditor.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/Decoder.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/DecoderFactory.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/DecoderType.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/PrimaryDecoder.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/am/AMDecoder.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/am/AMDecoderEditor.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/am/DecodeConfigAM.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/config/AuxDecodeConfiguration.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/config/DecodeConfiguration.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/ActivitySummaryFrame.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/ActivitySummaryProvider.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/CallEvent.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/CallEventAliasCellRenderer.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/CallEventModel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/CallEventPanel.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/ICallEventListener.java (50%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/ICallEventProvider.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/MessageActivityModel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/event/MessageActivityPanel.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync1/Fleetsync1Message.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync1/Fleetsync1MessageProcessor.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/Fleetsync2Decoder.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/Fleetsync2DecoderState.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/Fleetsync2MessageProcessor.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/FleetsyncCallEvent.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/FleetsyncMessage.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/FleetsyncMessageFilter.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/fleetsync2/FleetsyncMessageType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200CallEvent.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200Decoder.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200DecoderState.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200Message.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200MessageFilter.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200MessageProcessor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/lj1200/LJ1200TransponderMessage.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/DecodeConfigLTRNet.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRCallEvent.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetDecoder.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetDecoderEditor.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetDecoderState.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetISWMessage.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetMessage.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetMessageFilter.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetMessageProcessor.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrnet/LTRNetOSWMessage.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/DecodeConfigLTRStandard.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/LTRStandardDecoder.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/LTRStandardDecoderEditor.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/LTRStandardDecoderState.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/LTRStandardMessageFilter.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/LTRStandardMessageProcessor.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/message/CallEndMessage.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/message/CallMessage.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/message/IdleMessage.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/message/LTRStandardMessage.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/ltrstandard/message/UnknownMessage.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCCallEvent.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCDecoder.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCDecoderState.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCMessage.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCMessageFilter.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCMessageProcessor.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mdc1200/MDCMessageType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/DecodeConfigMPT1327.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327CallEvent.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327Decoder.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327DecoderEditor.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327DecoderState.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327Message.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327MessageFilter.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/mpt1327/MPT1327MessageProcessor.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/nbfm/DecodeConfigNBFM.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/nbfm/NBFMDecoder.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/nbfm/NBFMDecoderEditor.java (91%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/C4FMFrameListener.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/C4FMSlicer.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/C4FMSymbolFilter.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/DecodeConfigP25Phase1.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25CallEvent.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25Decoder.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25DecoderEditor.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25DecoderState.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25Interleave.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25MessageFramer.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25MessageProcessor.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25_C4FMDecoder.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/P25_LSMDecoder.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/PatchGroup.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/PatchGroupManager.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/Trellis_1_2_Rate.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/Trellis_3_4_Rate.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/audio/P25AudioModule.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/IAdjacentSite.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/IBandIdentifier.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/IdentifierReceiver.java (53%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/P25Message.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/HDUMessageFilter.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/LDUMessageFilter.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/P25MessageFilterSet.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/PDUMessageFilter.java (72%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/TDULCMessageFilter.java (67%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/TDUMessageFilter.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/filter/TSBKMessageFilterSet.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/hdu/HDUMessage.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/LDU1Message.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/LDU2Message.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/LDUMessage.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/AdjacentSiteStatusBroadcast.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/AdjacentSiteStatusBroadcastExplicit.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/CallAlert.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/CallTermination.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/ChannelIdentifierUpdate.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/ChannelIdentifierUpdateExplicit.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/ExtendedFunctionCommand.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/GroupAffiliationQuery.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/GroupVoiceChannelUpdate.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/GroupVoiceChannelUpdateExplicit.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/GroupVoiceChannelUser.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/LDULCMessageFactory.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/MessageUpdate.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/NetworkStatusBroadcast.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/NetworkStatusBroadcastExplicit.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/ProtectionParameterBroadcast.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/RFSSStatusBroadcast.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/RFSSStatusBroadcastExplicit.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/SecondaryControlChannelBroadcast.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/SecondaryControlChannelBroadcastExplicit.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/StatusQuery.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/StatusUpdate.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/SystemServiceBroadcast.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/TelephoneInterconnectAnswerRequest.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/TelephoneInterconnectVoiceChannelUser.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/UnitAuthenticationCommand.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/UnitRegistrationCommand.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/UnitToUnitAnswerRequest.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/UnitToUnitVoiceChannelUser.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/ldu/lc/motorola/MotorolaOpcode_0.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/PDUMessage.java (84%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/message/pdu/PDUMessageFactory.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/UnitToUnitChannelGrantExtended.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/PDUConfirmedMessage.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/PDUConfirmedMessageFactory.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/PDUTypeUnknown.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/PacketData.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/SNDCPActivateTDSContextAccept.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/SNDCPActivateTDSContextReject.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/SNDCPActivateTDSContextRequest.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/SNDCPDeactivateTDSContext.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/confirmed/SNDCPUserData.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/AdjacentStatusBroadcastExtended.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/CallAlertExtended.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/GroupAffiliationQueryExtended.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/GroupAffiliationResponseExtended.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/MessageUpdateExtended.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/NetworkStatusBroadcastExtended.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/ProtectionParameterBroadcast.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/RFSSStatusBroadcastExtended.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/RoamingAddressUpdateExtended.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/StatusQueryExtended.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/StatusUpdateExtended.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/control/UnitRegistrationResponseExtended.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/data/GroupDataChannelGrantExtended.java (91%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/message/pdu/osp/data/IndividualDataChannelGrantExtended.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/voice/GroupVoiceChannelGrantExplicit.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/voice/TelephoneInterconnectChannelGrantExplicit.java (86%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/message/pdu/osp/voice/TelephoneInterconnectChannelGrantUpdateExplicit.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/voice/UnitToUnitAnswerRequestExplicit.java (72%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/message/pdu/osp/voice/UnitToUnitVoiceChannelGrantExtended.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/pdu/osp/voice/UnitToUnitVoiceChannelGrantUpdateExtended.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/TDUMessage.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/AdjacentSiteStatusBroadcast.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/AdjacentSiteStatusBroadcastExplicit.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/CallAlert.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/CallTermination.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/ChannelIdentifierUpdate.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/ChannelIdentifierUpdateExplicit.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/ExtendedFunctionCommand.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/GroupAffiliationQuery.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/GroupVoiceChannelUpdate.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/GroupVoiceChannelUpdateExplicit.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/GroupVoiceChannelUser.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/MessageUpdate.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/NetworkStatusBroadcast.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/NetworkStatusBroadcastExplicit.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/ProtectionParameterBroadcast.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/RFSSStatusBroadcast.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/RFSSStatusBroadcastExplicit.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/SecondaryControlChannelBroadcast.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/SecondaryControlChannelBroadcastExplicit.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/StatusQuery.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/StatusUpdate.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/SystemServiceBroadcast.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/TDULCMessageFactory.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/TDULinkControlMessage.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/TelephoneInterconnectAnswerRequest.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/TelephoneInterconnectVoiceChannelUser.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/UnitAuthenticationCommand.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/UnitRegistrationCommand.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/UnitToUnitAnswerRequest.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tdu/lc/UnitToUnitVoiceChannelUser.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/ChannelGrant.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/GroupChannelGrant.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/GroupChannelGrantExplicit.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/GroupMultiChannelGrant.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/ServiceMessage.java (57%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/TSBKMessage.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/TSBKMessageFactory.java (58%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/UnitChannelGrant.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/ControlChannelBaseStationIdentification.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/MotorolaOpcode.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/MotorolaTSBKMessage.java (71%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PatchGroup.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PatchGroupAdd.java (58%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PatchGroupDelete.java (59%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PatchGroupVoiceChannelGrant.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PatchGroupVoiceChannelGrantUpdate.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/PlannedControlChannnelShutdown.java (72%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/SystemLoading.java (70%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/motorola/TrafficChannelBaseStationIdentification.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/AcknowledgeResponse.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/AdjacentStatusBroadcast.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/AuthenticationCommand.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/CallAlert.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/DenyResponse.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/ExtendedFunctionCommand.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/GroupAffiliationQuery.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/GroupAffiliationResponse.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/IdentifierUpdate.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/IdentifierUpdateNonVUHF.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/IdentifierUpdateTDMA.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/IdentifierUpdateVUHF.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/LocationRegistrationResponse.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/MessageUpdate.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/NetworkStatusBroadcast.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/ProtectionParameterUpdate.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/QueuedResponse.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/RFSSStatusBroadcast.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/RadioUnitMonitorCommand.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/RoamingAddressCommand.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/SecondaryControlChannelBroadcast.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/SecondaryControlChannelBroadcastExplicit.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/StatusQuery.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/StatusUpdate.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/SyncBroadcast.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/SystemService.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/SystemServiceBroadcast.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/TimeAndDateAnnouncement.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/UnitDeregistrationAcknowledge.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/UnitRegistrationCommand.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/control/UnitRegistrationResponse.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/GroupDataChannelAnnouncement.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/GroupDataChannelAnnouncementExplicit.java (55%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/GroupDataChannelGrant.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/IndividualDataChannelGrant.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/SNDCPData.java (72%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/SNDCPDataChannelAnnouncementExplicit.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/SNDCPDataChannelGrant.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/data/SNDCPDataPageRequest.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/GroupVoiceChannelGrant.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/GroupVoiceChannelGrantUpdate.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/GroupVoiceChannelGrantUpdateExplicit.java (56%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/TelephoneInterconnectAnswerRequest.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/TelephoneInterconnectVoiceChannelGrant.java (79%) create mode 100644 src/main/java/io/github/dsheirer/module/decode/p25/message/tsbk/osp/voice/TelephoneInterconnectVoiceChannelGrantUpdate.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/UnitToUnitAnswerRequest.java (54%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/UnitToUnitVoiceChannelGrant.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/osp/voice/UnitToUnitVoiceChannelGrantUpdate.java (52%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/tsbk/vendor/VendorOpcode.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/vselp/VSELP1Message.java (64%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/message/vselp/VSELP2Message.java (65%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/DataUnitID.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/DenyReason.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Digit.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Encryption.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/ExtendedFunction.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/IPHeaderCompression.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/IPProtocol.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/LinkControlOpcode.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/MDPConfigurationOption.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Opcode.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/P25NetworkCallsign.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/PDUFormat.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/PDUType.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/QueuedResponseReason.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Response.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/SNDCPActivationRejectReason.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Service.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/ServiceAccessPoint.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/StackOperation.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Status.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/Vendor.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/p25/reference/VendorLinkControlOpcode.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/DecodeConfigPassport.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportBand.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportCallEvent.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportDecoder.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportDecoderEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportDecoderState.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportMessage.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportMessageFilter.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/passport/PassportMessageProcessor.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200ANIMessage.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200ANIMessageProcessor.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200CallEvent.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200Decoder.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200DecoderState.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200GPSMessage.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200GPSMessageProcessor.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/decode/tait/Tait1200MessageFilter.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/demodulate/am/AMDemodulatorModule.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/demodulate/audio/DemodulatedAudioFilterModule.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/demodulate/fm/FMDemodulatorModule.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/CallEventLogger.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/EventLogConfigurationEditor.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/EventLogManager.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/EventLogType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/EventLogger.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/MessageEventLogger.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/module/log/config/EventLogConfiguration.java (91%) rename src/main/java/{ => io/github/dsheirer}/playlist/PlaylistManager.java (90%) rename src/main/java/{ => io/github/dsheirer}/playlist/PlaylistV2.java (88%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/AliasDirectory.java (92%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/AliasListOld.java (93%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/ChannelMapList.java (91%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/Group.java (95%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/PlaylistConverterV1ToV2.java (89%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/PlaylistV1.java (95%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/Site.java (95%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/System.java (97%) rename src/main/java/{ => io/github/dsheirer}/playlist/version1/SystemList.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/properties/SystemProperties.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/radioreference/RadioReferenceService.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/AudioRecorder.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/RecordConfigurationEditor.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/Recorder.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/RecorderManager.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/RecorderType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/config/RecordConfiguration.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/mp3/MP3Recorder.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/AudioPacketMonoWaveReader.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/ComplexBufferWaveRecorder.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/MonoWaveReader.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/RealBufferWaveRecorder.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/WaveUtils.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/record/wave/WaveWriter.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/Broadcaster.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/Buffer.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/BufferOverflow.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/ConversionUtils.java (63%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/Listener.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/OverflowableTransferQueue.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/Provider.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/SampleType.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ByteSampleAdapter.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ChannelShortAdapter.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ComplexToFloatSampleConverter.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/FloatArrayToComplexAdapter.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ISampleAdapter.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ShortAdapter.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/ShortToFloatMap.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/adapter/Test.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/Complex.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexBuffer.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexBufferToStreamConverter.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexSampleAssembler.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexSampleBroadcaster.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexSampleListListener.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexSampleListener.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexSampleUtils.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ComplexToComplexBufferAssembler.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/IComplexBufferListener.java (55%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/RateCounter_CB.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/complex/ThreadKiller.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/decimator/ComplexDecimator.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/decimator/Decimator.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/decimator/RealDecimator.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/IFilteredRealBufferListener.java (57%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/IFilteredRealBufferProvider.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/IOverflowListener.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/IUnFilteredRealBufferListener.java (58%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/IUnFilteredRealBufferProvider.java (68%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RateCounter_RB.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealBuffer.java (72%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealBufferToStreamConverter.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealSampleBroadcaster.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealSampleListener.java (66%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealSampleProvider.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/sample/real/RealToRealBufferAssembler.java (95%) rename src/main/java/{ => io/github/dsheirer}/settings/ColorSetting.java (99%) rename src/main/java/{ => io/github/dsheirer}/settings/ColorSettingMenuItem.java (91%) rename src/main/java/{ => io/github/dsheirer}/settings/ColorSettingResetAllMenuItem.java (93%) rename src/main/java/{ => io/github/dsheirer}/settings/ColorSettingResetMenuItem.java (89%) rename src/main/java/{ => io/github/dsheirer}/settings/FileSetting.java (97%) rename src/main/java/{ => io/github/dsheirer}/settings/MapViewSetting.java (97%) rename src/main/java/{ => io/github/dsheirer}/settings/Setting.java (97%) rename src/main/java/{ => io/github/dsheirer}/settings/SettingChangeListener.java (96%) rename src/main/java/{ => io/github/dsheirer}/settings/Settings.java (87%) rename src/main/java/{ => io/github/dsheirer}/settings/SettingsManager.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/BufferReceiver.java (91%) create mode 100644 src/main/java/io/github/dsheirer/source/ComplexSource.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/IControllableFileSource.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/IFrameLocationListener.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/InvalidFrequencyException.java (98%) create mode 100644 src/main/java/io/github/dsheirer/source/RealSource.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/Source.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/SourceConfigurationEditor.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/SourceException.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/SourceManager.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/SourceType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfigFactory.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfigMixer.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfigNone.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfigRecording.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfigTuner.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/config/SourceConfiguration.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/ComplexMixer.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/MixerChannel.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/MixerChannelConfiguration.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/MixerManager.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/MixerSourceEditor.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/RealMixerSource.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/mixer/SystemMixerDevices.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/recording/Recording.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/recording/RecordingConfiguration.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/recording/RecordingSourceManager.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/ITunerChannelProvider.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/LibUSBTransferProcessor.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/MixerTuner.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/MixerTunerDataLine.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/MixerTunerType.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/Tuner.java (77%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerChannel.java (95%) create mode 100644 src/main/java/io/github/dsheirer/source/tuner/TunerChannelProvider.java rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerChannelSource.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerClass.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerController.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerEditor.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerEvent.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerManager.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerModel.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerSourceEditor.java (83%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerSpectralDisplayManager.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerType.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/TunerViewPanel.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspyDeviceInformation.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspySampleAdapter.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspySampleRate.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspyTuner.java (79%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspyTunerConfiguration.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspyTunerController.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/airspy/AirspyTunerEditor.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/configuration/TunerConfiguration.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/configuration/TunerConfigurationEditor.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/configuration/TunerConfigurationEvent.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/configuration/TunerConfigurationFactory.java (61%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/configuration/TunerConfigurationModel.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/ettus/B100Tuner.java (74%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/ettus/B100TunerEditorPanel.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/FCDCommand.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/FCDModel.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/FCDTuner.java (73%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/FCDTunerController.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proV1/FCD1TunerConfiguration.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proV1/FCD1TunerController.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proV1/FCD1TunerEditor.java (88%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proplusV2/FCD2TunerConfiguration.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proplusV2/FCD2TunerController.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/fcd/proplusV2/FCD2TunerEditor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/DCTrackingFrequencyControl.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/FrequencyChangeEvent.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/FrequencyChangeProcessorWrapper.java (86%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/FrequencyController.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/FrequencyLimitException.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/IFrequencyChangeListener.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/IFrequencyChangeProcessor.java (56%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/frequency/IFrequencyChangeProvider.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/hackrf/HackRFTuner.java (78%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/hackrf/HackRFTunerConfiguration.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/hackrf/HackRFTunerController.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/hackrf/HackRFTunerEditor.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/RTL2832Tuner.java (75%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/RTL2832TunerController.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/e4k/E4KTunerConfiguration.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/e4k/E4KTunerController.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/e4k/E4KTunerEditor.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/r820t/R820TTunerConfiguration.java (59%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/r820t/R820TTunerController.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/rtl/r820t/R820TTunerEditor.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/usb/USBTransferProcessor.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/usb/USBTunerDevice.java (93%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/tuner/usb/USBUtils.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/wave/ComplexWaveSource.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/source/wave/RealWaveSource.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/ChannelOverlayPanel.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/ChannelSpectrumPanel.java (82%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/DFTProcessor.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/DFTResultsListener.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/DFTResultsProvider.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/DFTSize.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/IDFTWidthChangeProcessor.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/OverlayPanel.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/Pausable.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/SpectralDisplayAdjuster.java (69%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/SpectralDisplayPanel.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/SpectrumFrame.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/SpectrumPanel.java (90%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/WaterfallColorModel.java (98%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/WaterfallPanel.java (94%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/converter/ComplexDecibelConverter.java (87%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/converter/DFTResultsConverter.java (84%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/converter/RealDecibelConverter.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/AveragingItem.java (91%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/DFTSizeItem.java (80%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/FFTWindowTypeItem.java (81%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/FrameRateItem.java (85%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/SmoothingItem.java (89%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/spectrum/menu/SmoothingTypeItem.java (76%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/Angle.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/ArcTangent.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/ColorIcon.java (92%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/MemoryUsageLogger.java (96%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/StringUtils.java (97%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/ThreadPool.java (95%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/TimeStamp.java (99%) rename src/main/java/{ua/in/smartjava => io/github/dsheirer}/util/XTEA.java (96%) delete mode 100644 src/main/java/ua/in/smartjava/alias/action/beep/BeepAction.java delete mode 100644 src/main/java/ua/in/smartjava/audio/squelch/SquelchMode.java delete mode 100644 src/main/java/ua/in/smartjava/filter/IFilter.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/C4FMFrameListener.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/message/pdu/PDUMessageFactory.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/message/pdu/osp/data/IndividualDataChannelGrantExtended.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/message/pdu/osp/voice/TelephoneInterconnectChannelGrantUpdateExplicit.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/message/pdu/osp/voice/UnitToUnitVoiceChannelGrantExtended.java delete mode 100644 src/main/java/ua/in/smartjava/module/decode/p25/message/tsbk/osp/voice/TelephoneInterconnectVoiceChannelGrantUpdate.java delete mode 100644 src/main/java/ua/in/smartjava/source/ComplexSource.java delete mode 100644 src/main/java/ua/in/smartjava/source/RealSource.java delete mode 100644 src/main/java/ua/in/smartjava/source/tuner/TunerChannelProvider.java diff --git a/CHANGELOG b/CHANGELOG index eeca3c03..1d2e0655 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ +0.4.0 ........ (in progress) + - Changes build system from ant to gradle. Thanks to: Roman Tsypuk https://github.com/tsypuk + 0.3.2 20171105 - - Resolves issue with tuner frequency adjustments that was causing ua.in.smartjava.channel processing - to lockup and show persistent 'overflow' state in each ua.in.smartjava.channel status + - Resolves issue with tuner frequency adjustments that was causing channel processing + to lockup and show persistent 'overflow' state in each channel status - Resolves issue with broadcastify 'mountpoint-in-use' error handling and updates memory usage logging - Resolves issue with Shoutcast 2 login error @@ -10,47 +13,47 @@ 0.3.0 20170922 - REQUIRES: Java 8 (or newer) for compatibility and eventual changeover to JavaFX - - FEATURE: ua.in.smartjava.audio streaming - adds capability to stream to multiple remote broadcast + - FEATURE: audio streaming - adds capability to stream to multiple remote broadcast servers (Broadcastify, Icecast v2.3 and v2.4+, and Shoutcast V1 and V2). Each stream can be independently configured with a delay. Audio calls are directed - to one or more streams by attaching one or more stream identifiers to each ua.in.smartjava.alias. - - Extensive GUI updates for tuner, ua.in.smartjava.channel and ua.in.smartjava.alias management. Includes new - 'Now Playing' ua.in.smartjava.channel view and 'Detail' view. - - Updated ua.in.smartjava.alias list management of ua.in.smartjava.alias id values and wildcards. Weighting is now + to one or more streams by attaching one or more stream identifiers to each alias. + - Extensive GUI updates for tuner, channel and alias management. Includes new + 'Now Playing' channel view and 'Detail' view. + - Updated alias list management of alias id values and wildcards. Weighting is now applied to each wildcard so that they can be ordered from most specific to least specific for lookup value matching purposes. - Added handling for Motorola-specific P25 patch messages and auto-generation of patch group aliases that roll-up aliases from each patched talkgroup to support - ua.in.smartjava.audio recording and streaming of patch calls according to the identifiers and + audio recording and streaming of patch calls according to the identifiers and actions defined for each of the patched talkgroups. - - Implemented bounded queues for both tuner and individual ua.in.smartjava.channel IQ ua.in.smartjava.sample + - Implemented bounded queues for both tuner and individual channel IQ sample buffers. Bounded queues have ability to enter/exit overflow state when queue size reaches overflow threshold and reset when queue size falls below the reset threshold. Channel state will show OVERFLOW in red/yellow. - Improves handling of P25 TDMA channels (NO Phase 2 decoder support yet) - - Updated airspy ua.in.smartjava.controller for airspy-mini specific ua.in.smartjava.sample rate handling. - - New developer remez ua.in.smartjava.filter designer tool and internal usage + - Updated airspy controller for airspy-mini specific sample rate handling. + - New developer remez filter designer tool and internal usage 0.2.0 20160329 - Major overhaul of underlying processing chain and extensive updates to all decoders and filters - - New ua.in.smartjava.audio playback interface with global mute and support for one or two - ua.in.smartjava.audio channels + - New audio playback interface with global mute and support for one or two + audio channels - Audio playback is prioritized using a new Call Priority name action - with selected channels having the highest priority and any ua.in.smartjava.audio without + with selected channels having the highest priority and any audio without an name identifier having the lowest priority. - Updated Audio recording per call with new 'Non-Recordable' name action - Updated Baseband (I/Q) recording at 48 kHz - Added Airspy tuner support - - New traffic ua.in.smartjava.channel pool manager for trunked call following - - P25 Decoder for C4FM and LSM with trunked call following and ua.in.smartjava.audio + - New traffic channel pool manager for trunked call following + - P25 Decoder for C4FM and LSM with trunked call following and audio decoding via the JMBE library - Updated MPT1327 decoder and trunked call following. - Updated spectral and waterfall display with zoom (2-64x) and pan and automatic - noise floor (dB) adjusted to tuner ua.in.smartjava.sample size + noise floor (dB) adjusted to tuner sample size - Resolved some issues with memory leaks and crashes -0.1.5 20150612 Added initial P25 Decoder support with integrated ua.in.smartjava.audio decoding +0.1.5 20150612 Added initial P25 Decoder support with integrated audio decoding using the JMBE library 0.1.4 20150528 Updated test P25 Decoder diff --git a/LICENSE b/LICENSE index b0fac321..9cecc1d4 100644 --- a/LICENSE +++ b/LICENSE @@ -22,7 +22,7 @@ your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive ua.in.smartjava.source code or can get it if you +them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. @@ -34,7 +34,7 @@ you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive -or can get the ua.in.smartjava.source code. And you must show them these terms so they +or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: @@ -111,8 +111,8 @@ menu, a prominent item in the list meets this criterion. 1. Source Code. - The "ua.in.smartjava.source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-ua.in.smartjava.source + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official @@ -125,21 +125,21 @@ than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an -implementation is available to the public in ua.in.smartjava.source code form. A +implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all -the ua.in.smartjava.source code needed to generate, install, and (for an executable +the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source -includes interface definition files associated with ua.in.smartjava.source files for -the work, and the ua.in.smartjava.source code for shared libraries and dynamically +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. @@ -148,7 +148,7 @@ subprograms and other parts of the work. can regenerate automatically from other parts of the Corresponding Source. - The Corresponding Source for a work in ua.in.smartjava.source code form is that + The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. @@ -194,7 +194,7 @@ technological measures. 4. Conveying Verbatim Copies. - You may convey verbatim copies of the Program's ua.in.smartjava.source code as you + You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any @@ -208,7 +208,7 @@ and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of ua.in.smartjava.source code under the +produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified @@ -263,7 +263,7 @@ in one of these ways: product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this - conveying of ua.in.smartjava.source, or (2) access to copy the + conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the @@ -290,7 +290,7 @@ in one of these ways: Source of the work are being offered to the general public at no charge under subsection 6d. - A separable portion of the object code, whose ua.in.smartjava.source code is excluded + A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. @@ -337,7 +337,7 @@ protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in -ua.in.smartjava.source code form), and must require no special password or key for +source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. @@ -396,7 +396,7 @@ of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you -must place, in the relevant ua.in.smartjava.source files, a statement of the +must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. @@ -627,7 +627,7 @@ possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest -to attach them to the start of each ua.in.smartjava.source file to most effectively +to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. diff --git a/README.md b/README.md index 14aa161f..3b10f06e 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,13 @@ Windows ``` gradle.bat clean buildSdr ``` -This would add gradle, download all project dependencied and build JAR +This would add gradle, download all project dependencies and build JAR ## Development All dependencies/versions are controlled from build.gradle. To change the new release version tag of artifact - change property: ``` -version = '0.3.1' +version = '0.3.2' ``` ## Run SDRTrunk @@ -39,7 +39,7 @@ SDRTrunk is packed into single uber-jar file. There is need to have folders with adding them with classpath. Just run with java. ### Use Java8 ``` -java -jar build/libs/sdr-trunk-all-0.3.1.jar +java -jar build/libs/sdr-trunk-all-0.3.2.jar ``` ## TODO ITEMS diff --git a/build.gradle b/build.gradle index c96e7593..1feb8d30 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ repositories { mavenCentral() } -version = '0.3.1' +version = '0.3.2' sourceCompatibility = 1.8 sourceSets { @@ -64,7 +64,8 @@ task buildSdr(type: Jar) { manifest { attributes 'Implementation-Title': 'SdrTrunk project', 'Implementation-Version': version, - 'Main-Class': 'ua.in.smartjava.gui.SDRTrunk' + 'Main-Class': 'io.github.dsheirer.gui.SDRTrunk', + 'Class-Path': 'jmbe-0.3.2.jar jmbe-0.3.3.jar' } baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0e680f37..34c937c9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ +distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index cd2a318b..cccdd3d5 100755 --- a/gradlew +++ b/gradlew @@ -106,7 +106,7 @@ fi # For Darwin, add options to specify how the application appears in the dock if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:ua.in.smartjava.icon=$APP_HOME/media/gradle.icns\"" + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi # For Cygwin, switch paths to Windows format before running java diff --git a/src/main/java/ua/in/smartjava/alias/Alias.java b/src/main/java/io/github/dsheirer/alias/Alias.java similarity index 83% rename from src/main/java/ua/in/smartjava/alias/Alias.java rename to src/main/java/io/github/dsheirer/alias/Alias.java index 4e6bc314..90316a2b 100644 --- a/src/main/java/ua/in/smartjava/alias/Alias.java +++ b/src/main/java/io/github/dsheirer/alias/Alias.java @@ -15,29 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import java.awt.Color; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.TreeSet; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.alias.id.nonrecordable.NonRecordable; +import io.github.dsheirer.alias.id.priority.Priority; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlTransient; - -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.alias.id.nonrecordable.NonRecordable; -import ua.in.smartjava.alias.id.priority.Priority; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; @XmlSeeAlso( { AliasID.class, AliasAction.class } ) -@XmlRootElement( name = "ua/in/smartjava/alias") +@XmlRootElement( name = "alias") public class Alias { private String mList; @@ -180,13 +179,13 @@ public class Alias } /** - * Perform any validation/cleanup actions on this ua.in.smartjava.alias. + * Perform any validation/cleanup actions on this alias. */ public void validate() { } /** - * Returns the priority level of this ua.in.smartjava.alias, if defined, or the default priority + * Returns the priority level of this alias, if defined, or the default priority */ @XmlTransient public int getCallPriority() @@ -240,7 +239,7 @@ public class Alias } /** - * Inspects the ua.in.smartjava.alias for a non-recordable ua.in.smartjava.alias id. Default is true; + * Inspects the alias for a non-recordable alias id. Default is true; */ @XmlTransient public boolean isRecordable() @@ -257,7 +256,7 @@ public class Alias } /** - * Sets or removes the non-recordable ua.in.smartjava.alias ID for this ua.in.smartjava.alias. + * Sets or removes the non-recordable alias ID for this alias. */ public void setRecordable( boolean recordable ) { @@ -294,7 +293,7 @@ public class Alias } /** - * Inspects the ua.in.smartjava.alias for broadcast ua.in.smartjava.channel/streamable ua.in.smartjava.alias ids. Default is false; + * Inspects the alias for broadcast channel/streamable alias ids. Default is false; */ @XmlTransient public boolean isStreamable() @@ -311,7 +310,7 @@ public class Alias } /** - * List of broadcast channels specified for this ua.in.smartjava.alias. + * List of broadcast channels specified for this alias. */ @XmlTransient public Set getBroadcastChannels() @@ -330,7 +329,7 @@ public class Alias } /** - * Indicates if this ua.in.smartjava.alias contains a broadcast ua.in.smartjava.channel ua.in.smartjava.alias id with the ua.in.smartjava.channel name. + * Indicates if this alias contains a broadcast channel alias id with the channel name. */ public boolean hasBroadcastChannel(String channel) { diff --git a/src/main/java/ua/in/smartjava/alias/AliasController.java b/src/main/java/io/github/dsheirer/alias/AliasController.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/AliasController.java rename to src/main/java/io/github/dsheirer/alias/AliasController.java index 33075f91..48f6935c 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasController.java +++ b/src/main/java/io/github/dsheirer/alias/AliasController.java @@ -1,9 +1,9 @@ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.audio.broadcast.BroadcastModel; import com.jidesoft.swing.JideSplitPane; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.icon.IconManager; import net.coderazzi.filters.gui.AutoChoices; import net.coderazzi.filters.gui.TableFilterHeader; import net.miginfocom.swing.MigLayout; @@ -83,17 +83,17 @@ public class AliasController extends JPanel new MigLayout("insets 0 0 0 0", "[grow,fill][grow,fill][grow,fill]", "[]")); mNewButton.addActionListener(this); - mNewButton.setToolTipText("Adds a new ua.in.smartjava.alias"); + mNewButton.setToolTipText("Adds a new alias"); buttonsPanel.add(mNewButton); mCopyButton.addActionListener(this); mCopyButton.setEnabled(false); - mCopyButton.setToolTipText("Creates a copy of the currently selected ua.in.smartjava.alias and adds it"); + mCopyButton.setToolTipText("Creates a copy of the currently selected alias and adds it"); buttonsPanel.add(mCopyButton); mDeleteButton.addActionListener(this); mDeleteButton.setEnabled(false); - mDeleteButton.setToolTipText("Deletes the currently selected ua.in.smartjava.alias"); + mDeleteButton.setToolTipText("Deletes the currently selected alias"); buttonsPanel.add(mDeleteButton); JPanel listAndButtonsPanel = new JPanel(); @@ -114,7 +114,7 @@ public class AliasController extends JPanel } /** - * Sets the editor argument as the currently visible ua.in.smartjava.alias editor + * Sets the editor argument as the currently visible alias editor */ private void setEditor(Editor editor) { @@ -208,16 +208,16 @@ public class AliasController extends JPanel } /** - * Adds the ua.in.smartjava.alias to the ua.in.smartjava.alias table/model and scrolls the view it + * Adds the alias to the alias table/model and scrolls the view it */ private void addAlias(Alias alias) { //HACK: when inserting a row to the model, the JTable gets - //notified and attempts to tell the coderazzi table ua.in.smartjava.filter - //adaptive choices ua.in.smartjava.filter to refresh before the table ua.in.smartjava.filter is + //notified and attempts to tell the coderazzi table filter + //adaptive choices filter to refresh before the table filter is //notified of the row additions, causing an index out of bounds //exception. We turn off adaptive choices temporarily, add the - //ua.in.smartjava.channel, and turn on adaptive choices again. + //channel, and turn on adaptive choices again. mTableFilterHeader.setAdaptiveChoices(false); int index = mAliasModel.addAlias(alias); @@ -278,7 +278,7 @@ public class AliasController extends JPanel if(toDelete != null && !toDelete.isEmpty()) { String title = toDelete.size() == 1 ? "Delete Alias?" : "Delete Aliases?"; - String prompt = toDelete.size() == 1 ? "Do you want to delete this ua.in.smartjava.alias?" : + String prompt = toDelete.size() == 1 ? "Do you want to delete this alias?" : "Do you want to delete these " + toDelete.size() + " aliases?"; int choice = JOptionPane.showConfirmDialog(AliasController.this, @@ -322,7 +322,7 @@ public class AliasController extends JPanel } /** - * Displays cell's ua.in.smartjava.icon and name + * Displays cell's icon and name */ public class IconCellRenderer extends DefaultTableCellRenderer { diff --git a/src/main/java/ua/in/smartjava/alias/AliasEditor.java b/src/main/java/io/github/dsheirer/alias/AliasEditor.java similarity index 82% rename from src/main/java/ua/in/smartjava/alias/AliasEditor.java rename to src/main/java/io/github/dsheirer/alias/AliasEditor.java index 8a31f8f7..8edab474 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasEditor.java +++ b/src/main/java/io/github/dsheirer/alias/AliasEditor.java @@ -15,33 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; - -import ua.in.smartjava.audio.broadcast.BroadcastModel; -import ua.in.smartjava.gui.editor.Editor; - -import java.awt.Color; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JSeparator; - -import ua.in.smartjava.icon.IconManager; -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.alias.action.AliasActionEditor; -import ua.in.smartjava.alias.id.AliasIdentifierEditor; +package io.github.dsheirer.alias; import com.jidesoft.swing.JideTabbedPane; +import io.github.dsheirer.alias.action.AliasActionEditor; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.sample.Listener; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasIdentifierEditor; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; public class AliasEditor extends Editor implements ActionListener, Listener { private static final long serialVersionUID = 1L; - private static final String DEFAULT_NAME = "select an ua.in.smartjava.alias"; + private static final String DEFAULT_NAME = "select an alias"; private AliasModel mAliasModel; @@ -104,12 +99,12 @@ public class AliasEditor extends Editor //Playlist management buttons JButton btnSave = new JButton( "Save" ); - btnSave.setToolTipText( "Save ua.in.smartjava.alias changes to the playlist" ); + btnSave.setToolTipText( "Save alias changes to the playlist" ); btnSave.addActionListener( AliasEditor.this ); add( btnSave ); JButton btnReset = new JButton( "Reset" ); - btnReset.setToolTipText( "Reset ua.in.smartjava.alias changes since last save" ); + btnReset.setToolTipText( "Reset alias changes since last save" ); btnReset.addActionListener( AliasEditor.this ); add( btnReset, "wrap" ); } @@ -117,13 +112,13 @@ public class AliasEditor extends Editor @Override public void receive( AliasEvent event ) { - //If this is the currently displayed ua.in.smartjava.alias, reload it + //If this is the currently displayed alias, reload it if( hasItem() && getItem() == event.getAlias() ) { switch( event.getEvent() ) { case CHANGE: - //Alias changed - reset the editor with changed ua.in.smartjava.alias + //Alias changed - reset the editor with changed alias setItem( event.getAlias() ); break; case DELETE: diff --git a/src/main/java/ua/in/smartjava/alias/AliasEvent.java b/src/main/java/io/github/dsheirer/alias/AliasEvent.java similarity index 89% rename from src/main/java/ua/in/smartjava/alias/AliasEvent.java rename to src/main/java/io/github/dsheirer/alias/AliasEvent.java index 7fd8ce5f..f0370ae6 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasEvent.java +++ b/src/main/java/io/github/dsheirer/alias/AliasEvent.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; public class AliasEvent { @@ -23,8 +23,8 @@ public class AliasEvent private Event mEvent; /** - * AliasEvent - event describing any changes to an ua.in.smartjava.alias - * @param alias - ua.in.smartjava.alias that changed + * AliasEvent - event describing any changes to an alias + * @param alias - alias that changed * @param event - change event */ public AliasEvent( Alias alias, Event event ) diff --git a/src/main/java/ua/in/smartjava/alias/AliasFactory.java b/src/main/java/io/github/dsheirer/alias/AliasFactory.java similarity index 76% rename from src/main/java/ua/in/smartjava/alias/AliasFactory.java rename to src/main/java/io/github/dsheirer/alias/AliasFactory.java index 578ca6fc..7abe13c1 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasFactory.java +++ b/src/main/java/io/github/dsheirer/alias/AliasFactory.java @@ -15,47 +15,47 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.action.AliasActionType; -import ua.in.smartjava.alias.action.beep.BeepAction; -import ua.in.smartjava.alias.action.beep.BeepActionEditor; -import ua.in.smartjava.alias.action.clip.ClipAction; -import ua.in.smartjava.alias.action.clip.ClipActionEditor; -import ua.in.smartjava.alias.action.script.ScriptAction; -import ua.in.smartjava.alias.action.script.ScriptActionEditor; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannelEditor; -import ua.in.smartjava.alias.id.esn.ESNEditor; -import ua.in.smartjava.alias.id.esn.Esn; -import ua.in.smartjava.alias.id.fleetsync.FleetsyncID; -import ua.in.smartjava.alias.id.fleetsync.FleetsyncIDEditor; -import ua.in.smartjava.alias.id.lojack.LoJackFunctionAndID; -import ua.in.smartjava.alias.id.lojack.LoJackIDEditor; -import ua.in.smartjava.alias.id.mdc.MDC1200ID; -import ua.in.smartjava.alias.id.mdc.MDC1200IDEditor; -import ua.in.smartjava.alias.id.mobileID.MINEditor; -import ua.in.smartjava.alias.id.mobileID.Min; -import ua.in.smartjava.alias.id.mpt1327.MPT1327ID; -import ua.in.smartjava.alias.id.mpt1327.MPT1327IDEditor; -import ua.in.smartjava.alias.id.nonrecordable.NonRecordable; -import ua.in.smartjava.alias.id.nonrecordable.NonRecordableEditor; -import ua.in.smartjava.alias.id.priority.Priority; -import ua.in.smartjava.alias.id.priority.PriorityEditor; -import ua.in.smartjava.alias.id.siteID.SiteID; -import ua.in.smartjava.alias.id.siteID.SiteIDEditor; -import ua.in.smartjava.alias.id.status.StatusID; -import ua.in.smartjava.alias.id.status.StatusIDEditor; -import ua.in.smartjava.alias.id.talkgroup.TalkgroupID; -import ua.in.smartjava.alias.id.talkgroup.TalkgroupIDEditor; -import ua.in.smartjava.alias.id.uniqueID.UniqueID; -import ua.in.smartjava.alias.id.uniqueID.UniqueIDEditor; -import ua.in.smartjava.audio.broadcast.BroadcastModel; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.gui.editor.EmptyEditor; +import io.github.dsheirer.alias.action.AliasActionType; +import io.github.dsheirer.alias.action.clip.ClipAction; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.alias.id.fleetsync.FleetsyncIDEditor; +import io.github.dsheirer.alias.id.lojack.LoJackIDEditor; +import io.github.dsheirer.alias.id.mdc.MDC1200ID; +import io.github.dsheirer.alias.id.priority.Priority; +import io.github.dsheirer.alias.id.siteID.SiteID; +import io.github.dsheirer.alias.id.uniqueID.UniqueIDEditor; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.gui.editor.EmptyEditor; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.action.beep.BeepAction; +import io.github.dsheirer.alias.action.beep.BeepActionEditor; +import io.github.dsheirer.alias.action.clip.ClipActionEditor; +import io.github.dsheirer.alias.action.script.ScriptAction; +import io.github.dsheirer.alias.action.script.ScriptActionEditor; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannelEditor; +import io.github.dsheirer.alias.id.esn.ESNEditor; +import io.github.dsheirer.alias.id.esn.Esn; +import io.github.dsheirer.alias.id.fleetsync.FleetsyncID; +import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID; +import io.github.dsheirer.alias.id.mdc.MDC1200IDEditor; +import io.github.dsheirer.alias.id.mobileID.MINEditor; +import io.github.dsheirer.alias.id.mobileID.Min; +import io.github.dsheirer.alias.id.mpt1327.MPT1327ID; +import io.github.dsheirer.alias.id.mpt1327.MPT1327IDEditor; +import io.github.dsheirer.alias.id.nonrecordable.NonRecordable; +import io.github.dsheirer.alias.id.nonrecordable.NonRecordableEditor; +import io.github.dsheirer.alias.id.priority.PriorityEditor; +import io.github.dsheirer.alias.id.siteID.SiteIDEditor; +import io.github.dsheirer.alias.id.status.StatusID; +import io.github.dsheirer.alias.id.status.StatusIDEditor; +import io.github.dsheirer.alias.id.talkgroup.TalkgroupID; +import io.github.dsheirer.alias.id.talkgroup.TalkgroupIDEditor; +import io.github.dsheirer.alias.id.uniqueID.UniqueID; public class AliasFactory { @@ -138,7 +138,7 @@ public class AliasFactory { return new BeepAction(); } - else if( action instanceof ClipAction ) + else if( action instanceof ClipAction) { ClipAction originalClip = (ClipAction)action; ClipAction copyClip = new ClipAction(); diff --git a/src/main/java/ua/in/smartjava/alias/AliasList.java b/src/main/java/io/github/dsheirer/alias/AliasList.java similarity index 88% rename from src/main/java/ua/in/smartjava/alias/AliasList.java rename to src/main/java/io/github/dsheirer/alias/AliasList.java index 4b0d582a..448c008d 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasList.java +++ b/src/main/java/io/github/dsheirer/alias/AliasList.java @@ -16,24 +16,24 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.WildcardID; -import ua.in.smartjava.alias.id.esn.Esn; -import ua.in.smartjava.alias.id.fleetsync.FleetsyncID; -import ua.in.smartjava.alias.id.lojack.LoJackFunctionAndID; -import ua.in.smartjava.alias.id.mdc.MDC1200ID; -import ua.in.smartjava.alias.id.mobileID.Min; -import ua.in.smartjava.alias.id.mpt1327.MPT1327ID; -import ua.in.smartjava.alias.id.siteID.SiteID; -import ua.in.smartjava.alias.id.status.StatusID; -import ua.in.smartjava.alias.id.talkgroup.TalkgroupID; -import ua.in.smartjava.alias.id.uniqueID.UniqueID; -import ua.in.smartjava.module.decode.lj1200.LJ1200Message.Function; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.WildcardID; +import io.github.dsheirer.alias.id.esn.Esn; +import io.github.dsheirer.alias.id.fleetsync.FleetsyncID; +import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID; +import io.github.dsheirer.alias.id.mdc.MDC1200ID; +import io.github.dsheirer.alias.id.mobileID.Min; +import io.github.dsheirer.alias.id.mpt1327.MPT1327ID; +import io.github.dsheirer.alias.id.siteID.SiteID; +import io.github.dsheirer.alias.id.status.StatusID; +import io.github.dsheirer.alias.id.talkgroup.TalkgroupID; +import io.github.dsheirer.alias.id.uniqueID.UniqueID; +import io.github.dsheirer.module.decode.lj1200.LJ1200Message; +import io.github.dsheirer.sample.Listener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; import javax.xml.bind.annotation.XmlAttribute; import java.util.ArrayList; @@ -71,9 +71,9 @@ public class AliasList implements Listener /** * List of aliases where all aliases share the same list name. Contains - * several methods for ua.in.smartjava.alias lookup from identifier values, like talkgroups. + * several methods for alias lookup from identifier values, like talkgroups. * - * Responds to ua.in.smartjava.alias change events to keep the internal ua.in.smartjava.alias list updated. + * Responds to alias change events to keep the internal alias list updated. */ public AliasList(String name) { @@ -81,7 +81,7 @@ public class AliasList implements Listener } /** - * Adds the ua.in.smartjava.alias to this list + * Adds the alias to this list */ public void addAlias(Alias alias) { @@ -95,7 +95,7 @@ public class AliasList implements Listener } /** - * Adds the ua.in.smartjava.alias and ua.in.smartjava.alias identifier to the internal type mapping. + * Adds the alias and alias identifier to the internal type mapping. */ private void addAliasID(AliasID id, Alias alias) { @@ -224,13 +224,13 @@ public class AliasList implements Listener } catch(Exception e) { - mLog.error("Couldn't add ua.in.smartjava.alias ID " + id + " for ua.in.smartjava.alias " + alias); + mLog.error("Couldn't add alias ID " + id + " for alias " + alias); } } } /** - * Removes the ua.in.smartjava.alias from this list + * Removes the alias from this list */ public void removeAlias(Alias alias) { @@ -258,7 +258,7 @@ public class AliasList implements Listener } /** - * Removes the ua.in.smartjava.alias and ua.in.smartjava.alias identifier from internal mappings. + * Removes the alias and alias identifier from internal mappings. */ private void removeAliasID(AliasID id, Alias alias) { @@ -393,7 +393,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by site ID + * Lookup alias by site ID */ public Alias getSiteID(String siteID) { @@ -418,7 +418,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by status ID + * Lookup alias by status ID */ public Alias getStatus(int status) { @@ -426,7 +426,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by Unique ID (UID) + * Lookup alias by Unique ID (UID) */ public Alias getUniqueID(int uniqueID) { @@ -434,7 +434,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by ESN + * Lookup alias by ESN */ public Alias getESNAlias(String esn) { @@ -459,7 +459,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by fleetsync ID + * Lookup alias by fleetsync ID */ public Alias getFleetsyncAlias(String ident) { @@ -484,9 +484,9 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by lojack function and ID + * Lookup alias by lojack function and ID */ - public Alias getLoJackAlias(Function function, String id) + public Alias getLoJackAlias(LJ1200Message.Function function, String id) { if(id != null) { @@ -503,7 +503,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by MDC1200 ID + * Lookup alias by MDC1200 ID */ public Alias getMDC1200Alias(String ident) { @@ -528,7 +528,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by MPT1327 Ident + * Lookup alias by MPT1327 Ident */ public Alias getMPT1327Alias(String ident) { @@ -553,7 +553,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by Mobile ID Number (MIN) + * Lookup alias by Mobile ID Number (MIN) */ public Alias getMobileIDNumberAlias(String ident) { @@ -578,10 +578,10 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by talkgroup + * Lookup alias by talkgroup * - * @param tgid to use when searching for an ua.in.smartjava.alias - * @param includeWildcards true if you want to additionally search for a matching ua.in.smartjava.alias that contains wildcard(s) + * @param tgid to use when searching for an alias + * @param includeWildcards true if you want to additionally search for a matching alias that contains wildcard(s) * when there is not a direct match to the TGID. */ public Alias getTalkgroupAlias(String tgid, boolean includeWildcards) @@ -607,7 +607,7 @@ public class AliasList implements Listener } /** - * Lookup ua.in.smartjava.alias by talkgroup. Defaults to matching to wildcard talkgroups. + * Lookup alias by talkgroup. Defaults to matching to wildcard talkgroups. */ public Alias getTalkgroupAlias(String tgid) { @@ -632,7 +632,7 @@ public class AliasList implements Listener } /** - * Indicates if this ua.in.smartjava.alias list has a non-null, non-empty name + * Indicates if this alias list has a non-null, non-empty name */ private boolean hasName() { @@ -640,7 +640,7 @@ public class AliasList implements Listener } /** - * Receive ua.in.smartjava.alias change event notifications and modify this list accordingly + * Receive alias change event notifications and modify this list accordingly */ @Override public void receive(AliasEvent event) diff --git a/src/main/java/ua/in/smartjava/alias/AliasModel.java b/src/main/java/io/github/dsheirer/alias/AliasModel.java similarity index 87% rename from src/main/java/ua/in/smartjava/alias/AliasModel.java rename to src/main/java/io/github/dsheirer/alias/AliasModel.java index f0bec2a2..2a62f05f 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasModel.java +++ b/src/main/java/io/github/dsheirer/alias/AliasModel.java @@ -15,12 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.alias.AliasEvent.Event; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.sample.Broadcaster; -import ua.in.smartjava.sample.Listener; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.sample.Broadcaster; +import io.github.dsheirer.sample.Listener; import javax.swing.table.AbstractTableModel; import java.util.ArrayList; @@ -90,7 +89,7 @@ public class AliasModel extends AbstractTableModel mAliasListMap.put(name, aliasList); - //Register the new ua.in.smartjava.alias list to receive updates from this model + //Register the new alias list to receive updates from this model addListener(aliasList); } @@ -98,7 +97,7 @@ public class AliasModel extends AbstractTableModel } /** - * Returns a list of unique ua.in.smartjava.alias list names from across the ua.in.smartjava.alias set + * Returns a list of unique alias list names from across the alias set */ public List getListNames() { @@ -118,7 +117,7 @@ public class AliasModel extends AbstractTableModel } /** - * Returns a list of ua.in.smartjava.alias group names for all aliases + * Returns a list of alias group names for all aliases */ public List getGroupNames() { @@ -138,7 +137,7 @@ public class AliasModel extends AbstractTableModel } /** - * Returns a list of ua.in.smartjava.alias group names for all aliases that have a matching + * Returns a list of alias group names for all aliases that have a matching * list name value */ public List getGroupNames(String listName) @@ -176,7 +175,7 @@ public class AliasModel extends AbstractTableModel } /** - * Adds the ua.in.smartjava.alias to the model + * Adds the alias to the model */ public int addAlias(Alias alias) { @@ -188,7 +187,7 @@ public class AliasModel extends AbstractTableModel fireTableRowsInserted(index, index); - broadcast(new AliasEvent(alias, Event.ADD)); + broadcast(new AliasEvent(alias, AliasEvent.Event.ADD)); return index; } @@ -197,7 +196,7 @@ public class AliasModel extends AbstractTableModel } /** - * Removes the ua.in.smartjava.channel from the model and broadcasts a ua.in.smartjava.channel remove event + * Removes the channel from the model and broadcasts a channel remove event */ public void removeAlias(Alias alias) { @@ -209,7 +208,7 @@ public class AliasModel extends AbstractTableModel fireTableRowsDeleted(index, index); - broadcast(new AliasEvent(alias, Event.DELETE)); + broadcast(new AliasEvent(alias, AliasEvent.Event.DELETE)); } } @@ -217,7 +216,7 @@ public class AliasModel extends AbstractTableModel * Renames any broadcast channels that have the previous name. * * @param previousName to rename - * @param newName to assign to the broadcast ua.in.smartjava.channel + * @param newName to assign to the broadcast channel */ public void renameBroadcastChannel(String previousName, String newName) { @@ -322,13 +321,13 @@ public class AliasModel extends AbstractTableModel { Alias alias = event.getAlias(); - //Validate the ua.in.smartjava.alias following a user action that changed the ua.in.smartjava.alias or any ua.in.smartjava.alias IDs + //Validate the alias following a user action that changed the alias or any alias IDs if(alias != null) { alias.validate(); } - if(event.getEvent() == Event.CHANGE) + if(event.getEvent() == AliasEvent.Event.CHANGE) { int index = mAliases.indexOf(event.getAlias()); diff --git a/src/main/java/ua/in/smartjava/alias/AliasNameEditor.java b/src/main/java/io/github/dsheirer/alias/AliasNameEditor.java similarity index 94% rename from src/main/java/ua/in/smartjava/alias/AliasNameEditor.java rename to src/main/java/io/github/dsheirer/alias/AliasNameEditor.java index d64f3ac2..6fcc06aa 100644 --- a/src/main/java/ua/in/smartjava/alias/AliasNameEditor.java +++ b/src/main/java/io/github/dsheirer/alias/AliasNameEditor.java @@ -16,14 +16,13 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.alias.AliasEvent.Event; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.icon.Icon; -import ua.in.smartjava.icon.IconListCellRenderer; -import ua.in.smartjava.icon.IconManager; -import ua.in.smartjava.icon.IconTableModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.icon.Icon; +import io.github.dsheirer.icon.IconListCellRenderer; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.icon.IconTableModel; import net.miginfocom.swing.MigLayout; import javax.swing.*; @@ -148,7 +147,7 @@ public class AliasNameEditor extends Editor { Color newColor = JColorChooser.showDialog( AliasNameEditor.this, - "Choose color for this ua.in.smartjava.alias", + "Choose color for this alias", (hasItem() ? getItem().getDisplayColor() : null)); if(newColor != null) @@ -327,8 +326,8 @@ public class AliasNameEditor extends Editor setModified(false); - //Broadcast an ua.in.smartjava.alias change event to save the updates - mAliasModel.broadcast(new AliasEvent(getItem(), Event.CHANGE)); + //Broadcast an alias change event to save the updates + mAliasModel.broadcast(new AliasEvent(getItem(), AliasEvent.Event.CHANGE)); } } } diff --git a/src/main/java/ua/in/smartjava/alias/ComponentEditor.java b/src/main/java/io/github/dsheirer/alias/ComponentEditor.java similarity index 93% rename from src/main/java/ua/in/smartjava/alias/ComponentEditor.java rename to src/main/java/io/github/dsheirer/alias/ComponentEditor.java index 8685ec95..7bae5fcf 100644 --- a/src/main/java/ua/in/smartjava/alias/ComponentEditor.java +++ b/src/main/java/io/github/dsheirer/alias/ComponentEditor.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import javax.swing.JPanel; +import javax.swing.*; import javax.swing.event.DocumentListener; public abstract class ComponentEditor extends JPanel implements DocumentListener @@ -86,7 +86,7 @@ public abstract class ComponentEditor extends JPanel implements DocumentListe public abstract void save(); /** - * Reloads the editor contents from the ua.in.smartjava.source component and resets the + * Reloads the editor contents from the source component and resets the * modified flag */ public void reset() @@ -96,7 +96,7 @@ public abstract class ComponentEditor extends JPanel implements DocumentListe /** * Validate contents of other editors against this component editor before - * saving. Override this method to allow ua.in.smartjava.controller to pass other editors + * saving. Override this method to allow controller to pass other editors * to this editor for content inspection/validation before indicating that * this editor passes validation. This allows for validating editor contents * that are contingent on settings in other editors. diff --git a/src/main/java/ua/in/smartjava/alias/ComponentValidationException.java b/src/main/java/io/github/dsheirer/alias/ComponentValidationException.java similarity index 88% rename from src/main/java/ua/in/smartjava/alias/ComponentValidationException.java rename to src/main/java/io/github/dsheirer/alias/ComponentValidationException.java index 1f7fb194..9bf0445a 100644 --- a/src/main/java/ua/in/smartjava/alias/ComponentValidationException.java +++ b/src/main/java/io/github/dsheirer/alias/ComponentValidationException.java @@ -1,4 +1,4 @@ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; public class ComponentValidationException extends Exception { diff --git a/src/main/java/ua/in/smartjava/alias/MultipleAliasEditor.java b/src/main/java/io/github/dsheirer/alias/MultipleAliasEditor.java similarity index 93% rename from src/main/java/ua/in/smartjava/alias/MultipleAliasEditor.java rename to src/main/java/io/github/dsheirer/alias/MultipleAliasEditor.java index 6f3a1699..5d92dad0 100644 --- a/src/main/java/ua/in/smartjava/alias/MultipleAliasEditor.java +++ b/src/main/java/io/github/dsheirer/alias/MultipleAliasEditor.java @@ -1,18 +1,17 @@ -package ua.in.smartjava.alias; +package io.github.dsheirer.alias; -import ua.in.smartjava.alias.AliasEvent.Event; -import ua.in.smartjava.alias.id.AliasIDType; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.alias.id.priority.Priority; -import ua.in.smartjava.audio.broadcast.BroadcastModel; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.icon.Icon; -import ua.in.smartjava.icon.IconListCellRenderer; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.alias.id.priority.Priority; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.icon.Icon; +import io.github.dsheirer.icon.IconListCellRenderer; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.sample.Listener; import net.miginfocom.swing.MigLayout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; +import io.github.dsheirer.alias.id.AliasIDType; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -121,7 +120,7 @@ public class MultipleAliasEditor extends Editor> { Color newColor = JColorChooser.showDialog( MultipleAliasEditor.this, - "Choose color for this ua.in.smartjava.alias", null); + "Choose color for this alias", null); if (newColor != null) { @@ -388,7 +387,7 @@ public class MultipleAliasEditor extends Editor> int priority = mPrioritySlider.getValue(); //This is a work-around -- we use max priority + 1 in the - //ua.in.smartjava.gui to indicate do not monitor, and change the value here + //gui to indicate do not monitor, and change the value here if (priority == Priority.MAX_PRIORITY + 1) { priority = Priority.DO_NOT_MONITOR; @@ -405,7 +404,7 @@ public class MultipleAliasEditor extends Editor> boolean hasChannel = false; - //Ensure the ua.in.smartjava.alias doesn't already have the ua.in.smartjava.channel + //Ensure the alias doesn't already have the channel for(BroadcastChannel channel: alias.getBroadcastChannels()) { if(channel.getChannelName().equals(streamName)) @@ -429,8 +428,8 @@ public class MultipleAliasEditor extends Editor> for (Alias alias : aliases) { - //Broadcast an ua.in.smartjava.alias change event to save the updates - mAliasModel.broadcast(new AliasEvent(alias, Event.CHANGE)); + //Broadcast an alias change event to save the updates + mAliasModel.broadcast(new AliasEvent(alias, AliasEvent.Event.CHANGE)); } } } @@ -438,7 +437,7 @@ public class MultipleAliasEditor extends Editor> @Override public void receive(AliasEvent event) { - if (event.getEvent() == Event.DELETE && + if (event.getEvent() == AliasEvent.Event.DELETE && hasItem() && getAliases().contains(event.getAlias())) { diff --git a/src/main/java/ua/in/smartjava/alias/PatchGroupAlias.java b/src/main/java/io/github/dsheirer/alias/PatchGroupAlias.java similarity index 86% rename from src/main/java/ua/in/smartjava/alias/PatchGroupAlias.java rename to src/main/java/io/github/dsheirer/alias/PatchGroupAlias.java index c37cd3eb..df2f1d14 100644 --- a/src/main/java/ua/in/smartjava/alias/PatchGroupAlias.java +++ b/src/main/java/io/github/dsheirer/alias/PatchGroupAlias.java @@ -16,17 +16,16 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias; - -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.alias.id.priority.Priority; -import ua.in.smartjava.alias.id.talkgroup.TalkgroupID; +package io.github.dsheirer.alias; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.alias.id.priority.Priority; +import io.github.dsheirer.alias.id.talkgroup.TalkgroupID; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.github.dsheirer.alias.id.AliasIDType; import java.util.ArrayList; import java.util.List; @@ -42,12 +41,12 @@ public class PatchGroupAlias extends Alias private List mPatchedTalkgroupIDs = new ArrayList<>(); /** - * Patch group ua.in.smartjava.alias is a single ua.in.smartjava.alias for a group of aliases that are temporarily patched together. This will - * normally be used for patched talkgroups, but could be used with any type of ua.in.smartjava.alias identifiers that can be + * Patch group alias is a single alias for a group of aliases that are temporarily patched together. This will + * normally be used for patched talkgroups, but could be used with any type of alias identifiers that can be * temporarily joined to form a patch group. * - * Alias ua.in.smartjava.properties such as recordable, streamable and call priority are an aggregation from the set of patched - * aliases contained in this patch group ua.in.smartjava.alias and the patch group ID ua.in.smartjava.alias and where applicable, return the highest + * Alias properties such as recordable, streamable and call priority are an aggregation from the set of patched + * aliases contained in this patch group alias and the patch group ID alias and where applicable, return the highest * value/priority from the group of patched aliases. */ public PatchGroupAlias() @@ -66,7 +65,7 @@ public class PatchGroupAlias extends Alias } /** - * Sets an ua.in.smartjava.alias for this patch group ID + * Sets an alias for this patch group ID */ public void setPatchGroupAlias(Alias alias) { @@ -82,7 +81,7 @@ public class PatchGroupAlias extends Alias } /** - * Indicates if this patch group has an ua.in.smartjava.alias + * Indicates if this patch group has an alias */ public boolean hasPatchGroupAlias() { @@ -98,7 +97,7 @@ public class PatchGroupAlias extends Alias } /** - * Removes/clears all patched aliases from this patch ua.in.smartjava.alias group + * Removes/clears all patched aliases from this patch alias group */ public void clearPatchedAliases() { @@ -106,20 +105,20 @@ public class PatchGroupAlias extends Alias } /** - * Adds the patched ua.in.smartjava.alias to this patch ua.in.smartjava.alias group + * Adds the patched alias to this patch alias group */ public void addPatchedAlias(Alias alias) { if(alias == PatchGroupAlias.this) { - throw new IllegalArgumentException("Can't add patch group ua.in.smartjava.alias to itself - would create an infinite loop"); + throw new IllegalArgumentException("Can't add patch group alias to itself - would create an infinite loop"); } mPatchedAliases.add(alias); } /** - * Removes the patched ua.in.smartjava.alias from this patch ua.in.smartjava.alias group + * Removes the patched alias from this patch alias group */ public void removePatchedAlias(Alias alias) { @@ -205,7 +204,7 @@ public class PatchGroupAlias extends Alias } /** - * Returns the highest listenable ua.in.smartjava.audio priority defined among the aliases in the group, or returns 'Do Not Monitor' + * Returns the highest listenable audio priority defined among the aliases in the group, or returns 'Do Not Monitor' * if that is the only priority defined. Otherwise, returns default (100) priority. */ @Override diff --git a/src/main/java/ua/in/smartjava/alias/action/AliasAction.java b/src/main/java/io/github/dsheirer/alias/action/AliasAction.java similarity index 60% rename from src/main/java/ua/in/smartjava/alias/action/AliasAction.java rename to src/main/java/io/github/dsheirer/alias/action/AliasAction.java index d145105b..47dcc551 100644 --- a/src/main/java/ua/in/smartjava/alias/action/AliasAction.java +++ b/src/main/java/io/github/dsheirer/alias/action/AliasAction.java @@ -16,13 +16,13 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.alias.action.beep.BeepAction; -import ua.in.smartjava.alias.action.clip.ClipAction; -import ua.in.smartjava.alias.action.script.ScriptAction; -import ua.in.smartjava.message.Message; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.alias.action.clip.ClipAction; +import io.github.dsheirer.alias.action.script.ScriptAction; +import io.github.dsheirer.message.Message; +import io.github.dsheirer.alias.action.beep.BeepAction; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; @@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlTransient; import java.util.concurrent.ScheduledExecutorService; /** - * Alias action defines an action to execute when an ua.in.smartjava.alias is detected active. + * Alias action defines an action to execute when an alias is detected active. */ @XmlSeeAlso( { BeepAction.class, ClipAction.class, ScriptAction.class } ) @XmlRootElement( name = "action" ) @@ -44,15 +44,15 @@ public abstract class AliasAction public abstract AliasActionType getType(); /** - * Task to execute when an ua.in.smartjava.alias action is defined. The ua.in.smartjava.message argument is - * the original ua.in.smartjava.message containing one or more aliases that have an ua.in.smartjava.alias - * action attached. The ua.in.smartjava.alias argument is the parent ua.in.smartjava.alias containing the - * ua.in.smartjava.alias action. + * Task to execute when an alias action is defined. The message argument is + * the original message containing one or more aliases that have an alias + * action attached. The alias argument is the parent alias containing the + * alias action. */ - public abstract void execute( ScheduledExecutorService scheduledExecutorService, Alias alias, Message message ); + public abstract void execute(ScheduledExecutorService scheduledExecutorService, Alias alias, Message message ); /** - * Dismiss a persistent ua.in.smartjava.alias action + * Dismiss a persistent alias action */ public abstract void dismiss( boolean reset ); } diff --git a/src/main/java/ua/in/smartjava/alias/action/AliasActionEditor.java b/src/main/java/io/github/dsheirer/alias/action/AliasActionEditor.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/action/AliasActionEditor.java rename to src/main/java/io/github/dsheirer/alias/action/AliasActionEditor.java index ec339d22..3e6a4365 100644 --- a/src/main/java/ua/in/smartjava/alias/action/AliasActionEditor.java +++ b/src/main/java/io/github/dsheirer/alias/action/AliasActionEditor.java @@ -15,12 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.gui.editor.EmptyEditor; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.gui.editor.EmptyEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.AliasEvent; +import io.github.dsheirer.alias.AliasEvent.Event; +import io.github.dsheirer.alias.AliasFactory; +import io.github.dsheirer.alias.AliasModel; -import java.awt.EventQueue; +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; @@ -29,26 +38,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import javax.swing.DefaultListModel; -import javax.swing.JButton; -import javax.swing.JList; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.ListModel; -import javax.swing.ListSelectionModel; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.alias.AliasEvent; -import ua.in.smartjava.alias.AliasEvent.Event; -import ua.in.smartjava.alias.AliasFactory; -import ua.in.smartjava.alias.AliasModel; - public class AliasActionEditor extends Editor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/action/AliasActionListener.java b/src/main/java/io/github/dsheirer/alias/action/AliasActionListener.java similarity index 77% rename from src/main/java/ua/in/smartjava/alias/action/AliasActionListener.java rename to src/main/java/io/github/dsheirer/alias/action/AliasActionListener.java index 25ed8456..36e863d7 100644 --- a/src/main/java/ua/in/smartjava/alias/action/AliasActionListener.java +++ b/src/main/java/io/github/dsheirer/alias/action/AliasActionListener.java @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; -import ua.in.smartjava.alias.AliasEvent; +import io.github.dsheirer.alias.AliasEvent; /** - * Interface for receiving ua.in.smartjava.alias events. Each listener will receive - * notification of all ua.in.smartjava.alias events. + * Interface for receiving alias events. Each listener will receive + * notification of all alias events. */ public interface AliasActionListener { /** - * Notifies the listener that an ua.in.smartjava.alias event has occurred + * Notifies the listener that an alias event has occurred */ public void aliasChanged( AliasEvent event ); } diff --git a/src/main/java/ua/in/smartjava/alias/action/AliasActionManager.java b/src/main/java/io/github/dsheirer/alias/action/AliasActionManager.java similarity index 69% rename from src/main/java/ua/in/smartjava/alias/action/AliasActionManager.java rename to src/main/java/io/github/dsheirer/alias/action/AliasActionManager.java index 84cc66aa..760122cb 100644 --- a/src/main/java/ua/in/smartjava/alias/action/AliasActionManager.java +++ b/src/main/java/io/github/dsheirer/alias/action/AliasActionManager.java @@ -16,21 +16,21 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.message.Message; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.util.ThreadPool; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.message.Message; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.util.ThreadPool; import java.util.List; /** - * Manages all ua.in.smartjava.alias action events. Each received ua.in.smartjava.message is interrogated for - * any ua.in.smartjava.alias entries and then each ua.in.smartjava.alias is interrogated for any ua.in.smartjava.alias actions. + * Manages all alias action events. Each received message is interrogated for + * any alias entries and then each alias is interrogated for any alias actions. * - * Each ua.in.smartjava.alias action is executed and provided a copy of the ua.in.smartjava.source ua.in.smartjava.message so - * that the contents of the ua.in.smartjava.message can be used as part of the action. + * Each alias action is executed and provided a copy of the source message so + * that the contents of the message can be used as part of the action. */ public class AliasActionManager implements Listener { @@ -57,8 +57,8 @@ public class AliasActionManager implements Listener { /* Provide access to the thread pool manager in case the * action needs to setup a timer, and provide the original - * ua.in.smartjava.message to be used as part of the action (e.g. sending - * the ua.in.smartjava.message as a text ua.in.smartjava.message to a cell phone */ + * message to be used as part of the action (e.g. sending + * the message as a text message to a cell phone */ action.execute(ThreadPool.SCHEDULED, alias, message); } } diff --git a/src/main/java/ua/in/smartjava/alias/action/AliasActionType.java b/src/main/java/io/github/dsheirer/alias/action/AliasActionType.java similarity index 96% rename from src/main/java/ua/in/smartjava/alias/action/AliasActionType.java rename to src/main/java/io/github/dsheirer/alias/action/AliasActionType.java index 53848ca5..eee09f23 100644 --- a/src/main/java/ua/in/smartjava/alias/action/AliasActionType.java +++ b/src/main/java/io/github/dsheirer/alias/action/AliasActionType.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; public enum AliasActionType { diff --git a/src/main/java/ua/in/smartjava/alias/action/RecurringAction.java b/src/main/java/io/github/dsheirer/alias/action/RecurringAction.java similarity index 96% rename from src/main/java/ua/in/smartjava/alias/action/RecurringAction.java rename to src/main/java/io/github/dsheirer/alias/action/RecurringAction.java index 1eed40bd..a6a7e297 100644 --- a/src/main/java/ua/in/smartjava/alias/action/RecurringAction.java +++ b/src/main/java/io/github/dsheirer/alias/action/RecurringAction.java @@ -1,7 +1,7 @@ -package ua.in.smartjava.alias.action; +package io.github.dsheirer.alias.action; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.message.Message; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.message.Message; import javax.swing.*; import javax.xml.bind.annotation.XmlAttribute; @@ -50,7 +50,7 @@ public abstract class RecurringAction extends AliasAction StringBuilder sb = new StringBuilder(); sb.append("
Alias ["); sb.append(alias.getName()); - sb.append("] is active in ua.in.smartjava.message ["); + sb.append("] is active in message ["); sb.append(message.toString()); sb.append("]
"); diff --git a/src/main/java/io/github/dsheirer/alias/action/beep/BeepAction.java b/src/main/java/io/github/dsheirer/alias/action/beep/BeepAction.java new file mode 100644 index 00000000..dd7ee6a7 --- /dev/null +++ b/src/main/java/io/github/dsheirer/alias/action/beep/BeepAction.java @@ -0,0 +1,28 @@ +package io.github.dsheirer.alias.action.beep; + +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.alias.action.AliasActionType; +import io.github.dsheirer.alias.action.RecurringAction; +import io.github.dsheirer.message.Message; + +public class BeepAction extends RecurringAction +{ + + @Override + public AliasActionType getType() + { + return AliasActionType.BEEP; + } + + @Override + public void performAction(Alias alias, Message message ) + { + System.out.println( "\007" ); + } + + @Override + public String toString() + { + return "Beep"; + } +} diff --git a/src/main/java/ua/in/smartjava/alias/action/beep/BeepActionEditor.java b/src/main/java/io/github/dsheirer/alias/action/beep/BeepActionEditor.java similarity index 82% rename from src/main/java/ua/in/smartjava/alias/action/beep/BeepActionEditor.java rename to src/main/java/io/github/dsheirer/alias/action/beep/BeepActionEditor.java index 21c86fbf..109eea70 100644 --- a/src/main/java/ua/in/smartjava/alias/action/beep/BeepActionEditor.java +++ b/src/main/java/io/github/dsheirer/alias/action/beep/BeepActionEditor.java @@ -15,30 +15,22 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action.beep; +package io.github.dsheirer.alias.action.beep; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.action.RecurringAction; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JComboBox; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JSlider; -import javax.swing.SpinnerModel; -import javax.swing.SpinnerNumberModel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.action.RecurringAction.Interval; - public class BeepActionEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; @@ -47,17 +39,17 @@ public class BeepActionEditor extends DocumentListenerEditor "

Beep Action

" + "This action will sound a beep according to the interval
" + "that you select:

" - + "Once: Beep the first time the ua.in.smartjava.alias is active and
" + + "Once: Beep the first time the alias is active and
" + "never again

" + "Once, Reset After Delay: Beep once and suppress
" + "subsequent beeps for the specified period in seconds.
" - + "After the reset period, beep again when the ua.in.smartjava.alias is active.

" + + "After the reset period, beep again when the alias is active.

" + "Until Dismissed: Beep every period seconds until you
" + "click OK on the dialog that appears. Alerting is suppressed
" + "for 15 seconds after you click OK.
" + ""; - private JComboBox mComboInterval; + private JComboBox mComboInterval; private JSlider mPeriodSlider; private JLabel mPeriodSliderLabel; @@ -84,20 +76,20 @@ public class BeepActionEditor extends DocumentListenerEditor add( new JLabel( "Beep Interval:" ) ); - mComboInterval = new JComboBox( Interval.values() ); + mComboInterval = new JComboBox( RecurringAction.Interval.values() ); mComboInterval.setToolTipText( HELP_TEXT ); mComboInterval.addActionListener( new ActionListener() { @Override public void actionPerformed( ActionEvent e ) { - Interval selected = mComboInterval + RecurringAction.Interval selected = mComboInterval .getItemAt( mComboInterval.getSelectedIndex() ); if( selected != null ) { /* Enable/disable period spinner based on selection */ - boolean enabled = selected != Interval.ONCE; + boolean enabled = selected != RecurringAction.Interval.ONCE; mPeriodSlider.setEnabled( enabled ); mPeriodSliderLabel.setEnabled( enabled ); @@ -163,11 +155,11 @@ public class BeepActionEditor extends DocumentListenerEditor { BeepAction beep = getBeepAction(); - Interval interval = beep.getInterval(); + RecurringAction.Interval interval = beep.getInterval(); mComboInterval.setSelectedItem( interval ); - boolean enabled = interval != Interval.ONCE; + boolean enabled = interval != RecurringAction.Interval.ONCE; mPeriodSliderLabel.setEnabled( enabled ); mPeriodSlider.setEnabled( enabled ); @@ -184,7 +176,7 @@ public class BeepActionEditor extends DocumentListenerEditor { BeepAction beep = getBeepAction(); - beep.setInterval( (Interval)mComboInterval.getSelectedItem() ); + beep.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() ); beep.setPeriod( mPeriodSlider.getValue() ); } diff --git a/src/main/java/ua/in/smartjava/alias/action/clip/ClipAction.java b/src/main/java/io/github/dsheirer/alias/action/clip/ClipAction.java similarity index 80% rename from src/main/java/ua/in/smartjava/alias/action/clip/ClipAction.java rename to src/main/java/io/github/dsheirer/alias/action/clip/ClipAction.java index 86e57fc4..bbceb9a7 100644 --- a/src/main/java/ua/in/smartjava/alias/action/clip/ClipAction.java +++ b/src/main/java/io/github/dsheirer/alias/action/clip/ClipAction.java @@ -1,20 +1,17 @@ -package ua.in.smartjava.alias.action.clip; +package io.github.dsheirer.alias.action.clip; -import java.io.File; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.alias.action.AliasActionType; +import io.github.dsheirer.message.Message; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import io.github.dsheirer.alias.action.RecurringAction; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.xml.bind.annotation.XmlTransient; - -import ua.in.smartjava.message.Message; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.alias.action.AliasActionType; -import ua.in.smartjava.alias.action.RecurringAction; +import java.io.File; public class ClipAction extends RecurringAction { @@ -46,7 +43,7 @@ public class ClipAction extends RecurringAction } @Override - public void performAction( Alias alias, Message message ) + public void performAction(Alias alias, Message message ) { try { @@ -54,7 +51,7 @@ public class ClipAction extends RecurringAction } catch( Exception e ) { - mLog.error( "Couldn't play ua.in.smartjava.audio clip", e ); + mLog.error( "Couldn't play audio clip", e ); } } diff --git a/src/main/java/ua/in/smartjava/alias/action/clip/ClipActionEditor.java b/src/main/java/io/github/dsheirer/alias/action/clip/ClipActionEditor.java similarity index 84% rename from src/main/java/ua/in/smartjava/alias/action/clip/ClipActionEditor.java rename to src/main/java/io/github/dsheirer/alias/action/clip/ClipActionEditor.java index 8252a4b9..b8d31a0a 100644 --- a/src/main/java/ua/in/smartjava/alias/action/clip/ClipActionEditor.java +++ b/src/main/java/io/github/dsheirer/alias/action/clip/ClipActionEditor.java @@ -15,34 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action.clip; +package io.github.dsheirer.alias.action.clip; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.action.RecurringAction; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.File; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JSlider; -import javax.swing.JTextField; -import javax.swing.SpinnerModel; -import javax.swing.SpinnerNumberModel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.action.RecurringAction.Interval; - public class ClipActionEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; @@ -50,19 +39,19 @@ public class ClipActionEditor extends DocumentListenerEditor private static final String PLEASE_SELECT_A_FILE = "Please select a file"; private static final String HELP_TEXT = "

Clip Action

" - + "This action will play an ua.in.smartjava.audio clip according to the interval
" + + "This action will play an audio clip according to the interval
" + "that you select:

" - + "Once: play the first time the ua.in.smartjava.alias is active and
" + + "Once: play the first time the alias is active and
" + "never again

" + "Once, Reset After Delay: play once and suppress
" + "subsequent runs for the specified period in seconds.
" - + "After the reset period, play again when the ua.in.smartjava.alias is active.

" + + "After the reset period, play again when the alias is active.

" + "Until Dismissed: play every period seconds until you
" + "click OK on the dialog that appears. Alerting is suppressed
" + "for 15 seconds after you click OK.
" + ""; - private JComboBox mComboInterval; + private JComboBox mComboInterval; private JSlider mPeriodSlider; private JLabel mPeriodSliderLabel; private JTextField mTextFilePath; @@ -90,20 +79,20 @@ public class ClipActionEditor extends DocumentListenerEditor add( new JLabel( "Play Interval:" ) ); - mComboInterval = new JComboBox( Interval.values() ); + mComboInterval = new JComboBox( RecurringAction.Interval.values() ); mComboInterval.setToolTipText( HELP_TEXT ); mComboInterval.addActionListener( new ActionListener() { @Override public void actionPerformed( ActionEvent e ) { - Interval selected = mComboInterval + RecurringAction.Interval selected = mComboInterval .getItemAt( mComboInterval.getSelectedIndex() ); if( selected != null ) { /* Enable/disable period slider based on selection */ - boolean enabled = selected != Interval.ONCE; + boolean enabled = selected != RecurringAction.Interval.ONCE; mPeriodSlider.setEnabled( enabled ); mPeriodSliderLabel.setEnabled( enabled ); @@ -186,7 +175,7 @@ public class ClipActionEditor extends DocumentListenerEditor if( path == null || path.trim().isEmpty() ) { JOptionPane.showMessageDialog( ClipActionEditor.this, - "Please select an ua.in.smartjava.audio file", PLEASE_SELECT_A_FILE, + "Please select an audio file", PLEASE_SELECT_A_FILE, JOptionPane.ERROR_MESSAGE ); } else @@ -218,7 +207,7 @@ public class ClipActionEditor extends DocumentListenerEditor catch( Exception e1 ) { JOptionPane.showMessageDialog( ClipActionEditor.this, - "Couldn't play ua.in.smartjava.audio clip [" + e1.getMessage() + "]", + "Couldn't play audio clip [" + e1.getMessage() + "]", "Error", JOptionPane.ERROR_MESSAGE ); } } @@ -254,11 +243,11 @@ public class ClipActionEditor extends DocumentListenerEditor { ClipAction clip = getClipAction(); - Interval interval = clip.getInterval(); + RecurringAction.Interval interval = clip.getInterval(); mComboInterval.setSelectedItem( interval ); - boolean enabled = interval != Interval.ONCE; + boolean enabled = interval != RecurringAction.Interval.ONCE; mPeriodSliderLabel.setEnabled( enabled ); mPeriodSlider.setEnabled( enabled ); @@ -286,7 +275,7 @@ public class ClipActionEditor extends DocumentListenerEditor { ClipAction script = getClipAction(); - script.setInterval( (Interval)mComboInterval.getSelectedItem() ); + script.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() ); script.setPeriod( mPeriodSlider.getValue() ); script.setPath( mTextFilePath.getText() ); } diff --git a/src/main/java/ua/in/smartjava/alias/action/script/ScriptAction.java b/src/main/java/io/github/dsheirer/alias/action/script/ScriptAction.java similarity index 83% rename from src/main/java/ua/in/smartjava/alias/action/script/ScriptAction.java rename to src/main/java/io/github/dsheirer/alias/action/script/ScriptAction.java index cfc1a21e..7285cff7 100644 --- a/src/main/java/ua/in/smartjava/alias/action/script/ScriptAction.java +++ b/src/main/java/io/github/dsheirer/alias/action/script/ScriptAction.java @@ -1,17 +1,15 @@ -package ua.in.smartjava.alias.action.script; +package io.github.dsheirer.alias.action.script; + +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.alias.action.AliasActionType; +import io.github.dsheirer.message.Message; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import io.github.dsheirer.alias.action.RecurringAction; import java.io.BufferedReader; import java.io.InputStreamReader; -import ua.in.smartjava.message.Message; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.alias.action.AliasActionType; -import ua.in.smartjava.alias.action.RecurringAction; - public class ScriptAction extends RecurringAction { private final static Logger mLog = LoggerFactory.getLogger( ScriptAction.class ); @@ -39,7 +37,7 @@ public class ScriptAction extends RecurringAction } @Override - public void performAction( Alias alias, Message message ) + public void performAction(Alias alias, Message message ) { try { diff --git a/src/main/java/ua/in/smartjava/alias/action/script/ScriptActionEditor.java b/src/main/java/io/github/dsheirer/alias/action/script/ScriptActionEditor.java similarity index 86% rename from src/main/java/ua/in/smartjava/alias/action/script/ScriptActionEditor.java rename to src/main/java/io/github/dsheirer/alias/action/script/ScriptActionEditor.java index 1399a480..533f1941 100644 --- a/src/main/java/ua/in/smartjava/alias/action/script/ScriptActionEditor.java +++ b/src/main/java/io/github/dsheirer/alias/action/script/ScriptActionEditor.java @@ -15,34 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.action.script; +package io.github.dsheirer.alias.action.script; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.action.AliasAction; +import io.github.dsheirer.alias.action.RecurringAction; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.File; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JSlider; -import javax.swing.JTextField; -import javax.swing.SpinnerModel; -import javax.swing.SpinnerNumberModel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.action.AliasAction; -import ua.in.smartjava.alias.action.RecurringAction.Interval; - public class ScriptActionEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; @@ -52,17 +41,17 @@ public class ScriptActionEditor extends DocumentListenerEditor "

Script Action

" + "This action will run a script according to the interval
" + "that you select:

" - + "Once: run the first time the ua.in.smartjava.alias is active and
" + + "Once: run the first time the alias is active and
" + "never again

" + "Once, Reset After Delay: run once and suppress
" + "subsequent runs for the specified period in seconds.
" - + "After the reset period, run again when the ua.in.smartjava.alias is active.

" + + "After the reset period, run again when the alias is active.

" + "Until Dismissed: run every period seconds until you
" + "click OK on the dialog that appears. Alerting is suppressed
" + "for 15 seconds after you click OK.
" + ""; - private JComboBox mComboInterval; + private JComboBox mComboInterval; private JSlider mPeriodSlider; private JLabel mPeriodSliderLabel; private JTextField mTextFilePath; @@ -90,20 +79,20 @@ public class ScriptActionEditor extends DocumentListenerEditor add( new JLabel( "Run Interval:" ) ); - mComboInterval = new JComboBox( Interval.values() ); + mComboInterval = new JComboBox( RecurringAction.Interval.values() ); mComboInterval.setToolTipText( HELP_TEXT ); mComboInterval.addActionListener( new ActionListener() { @Override public void actionPerformed( ActionEvent e ) { - Interval selected = mComboInterval + RecurringAction.Interval selected = mComboInterval .getItemAt( mComboInterval.getSelectedIndex() ); if( selected != null ) { /* Enable/disable period slider based on selection */ - boolean enabled = selected != Interval.ONCE; + boolean enabled = selected != RecurringAction.Interval.ONCE; mPeriodSlider.setEnabled( enabled ); mPeriodSliderLabel.setEnabled( enabled ); @@ -250,11 +239,11 @@ public class ScriptActionEditor extends DocumentListenerEditor { ScriptAction script = getScriptAction(); - Interval interval = script.getInterval(); + RecurringAction.Interval interval = script.getInterval(); mComboInterval.setSelectedItem( interval ); - boolean enabled = interval != Interval.ONCE; + boolean enabled = interval != RecurringAction.Interval.ONCE; mPeriodSliderLabel.setEnabled( enabled ); mPeriodSlider.setEnabled( enabled ); @@ -282,7 +271,7 @@ public class ScriptActionEditor extends DocumentListenerEditor { ScriptAction script = getScriptAction(); - script.setInterval( (Interval)mComboInterval.getSelectedItem() ); + script.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() ); script.setPeriod( mPeriodSlider.getValue() ); script.setScript( mTextFilePath.getText() ); } diff --git a/src/main/java/ua/in/smartjava/alias/id/AliasID.java b/src/main/java/io/github/dsheirer/alias/id/AliasID.java similarity index 66% rename from src/main/java/ua/in/smartjava/alias/id/AliasID.java rename to src/main/java/io/github/dsheirer/alias/id/AliasID.java index 6a8c4480..60b9348f 100644 --- a/src/main/java/ua/in/smartjava/alias/id/AliasID.java +++ b/src/main/java/io/github/dsheirer/alias/id/AliasID.java @@ -15,27 +15,27 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id; +package io.github.dsheirer.alias.id; + +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; +import io.github.dsheirer.alias.id.esn.Esn; +import io.github.dsheirer.alias.id.fleetsync.FleetsyncID; +import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID; +import io.github.dsheirer.alias.id.mdc.MDC1200ID; +import io.github.dsheirer.alias.id.mobileID.Min; +import io.github.dsheirer.alias.id.mpt1327.MPT1327ID; +import io.github.dsheirer.alias.id.nonrecordable.NonRecordable; +import io.github.dsheirer.alias.id.priority.Priority; +import io.github.dsheirer.alias.id.siteID.SiteID; +import io.github.dsheirer.alias.id.status.StatusID; +import io.github.dsheirer.alias.id.talkgroup.TalkgroupID; +import io.github.dsheirer.alias.id.uniqueID.UniqueID; +import io.github.dsheirer.playlist.version1.Group; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlTransient; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import playlist.version1.Group; -import ua.in.smartjava.alias.id.esn.Esn; -import ua.in.smartjava.alias.id.fleetsync.FleetsyncID; -import ua.in.smartjava.alias.id.lojack.LoJackFunctionAndID; -import ua.in.smartjava.alias.id.mdc.MDC1200ID; -import ua.in.smartjava.alias.id.mobileID.Min; -import ua.in.smartjava.alias.id.mpt1327.MPT1327ID; -import ua.in.smartjava.alias.id.nonrecordable.NonRecordable; -import ua.in.smartjava.alias.id.priority.Priority; -import ua.in.smartjava.alias.id.siteID.SiteID; -import ua.in.smartjava.alias.id.status.StatusID; -import ua.in.smartjava.alias.id.talkgroup.TalkgroupID; -import ua.in.smartjava.alias.id.uniqueID.UniqueID; - @SuppressWarnings( "deprecation" ) @XmlSeeAlso( {BroadcastChannel.class, Esn.class, FleetsyncID.class, Group.class, LoJackFunctionAndID.class, MDC1200ID.class, Min.class, MPT1327ID.class, NonRecordable.class, diff --git a/src/main/java/ua/in/smartjava/alias/id/AliasIDType.java b/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java similarity index 97% rename from src/main/java/ua/in/smartjava/alias/id/AliasIDType.java rename to src/main/java/io/github/dsheirer/alias/id/AliasIDType.java index a646829f..bd95471e 100644 --- a/src/main/java/ua/in/smartjava/alias/id/AliasIDType.java +++ b/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id; +package io.github.dsheirer.alias.id; public enum AliasIDType { diff --git a/src/main/java/ua/in/smartjava/alias/id/AliasIdentifierEditor.java b/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/AliasIdentifierEditor.java rename to src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java index dbc38e8f..d0d68901 100644 --- a/src/main/java/ua/in/smartjava/alias/id/AliasIdentifierEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java @@ -15,13 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id; +package io.github.dsheirer.alias.id; -import ua.in.smartjava.audio.broadcast.BroadcastModel; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.gui.editor.EmptyEditor; +import io.github.dsheirer.alias.Alias; +import io.github.dsheirer.alias.AliasEvent; +import io.github.dsheirer.alias.AliasFactory; +import io.github.dsheirer.alias.AliasModel; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.gui.editor.EmptyEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.EventQueue; +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; @@ -30,26 +38,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import javax.swing.DefaultListModel; -import javax.swing.JButton; -import javax.swing.JList; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.ListModel; -import javax.swing.ListSelectionModel; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.alias.AliasEvent; -import ua.in.smartjava.alias.AliasEvent.Event; -import ua.in.smartjava.alias.AliasFactory; -import ua.in.smartjava.alias.AliasModel; - public class AliasIdentifierEditor extends Editor { private static final long serialVersionUID = 1L; @@ -204,7 +192,7 @@ public class AliasIdentifierEditor extends Editor alias.removeAliasID( selected ); - mAliasModel.broadcast( new AliasEvent( alias, Event.CHANGE ) ); + mAliasModel.broadcast( new AliasEvent( alias, AliasEvent.Event.CHANGE ) ); setItem( alias ); } @@ -263,7 +251,7 @@ public class AliasIdentifierEditor extends Editor if( hasItem() ) { - mAliasModel.broadcast( new AliasEvent( getItem(), Event.CHANGE ) ); + mAliasModel.broadcast( new AliasEvent( getItem(), AliasEvent.Event.CHANGE ) ); } } } diff --git a/src/main/java/ua/in/smartjava/alias/id/WildcardID.java b/src/main/java/io/github/dsheirer/alias/id/WildcardID.java similarity index 96% rename from src/main/java/ua/in/smartjava/alias/id/WildcardID.java rename to src/main/java/io/github/dsheirer/alias/id/WildcardID.java index 01ad15f0..96d9a60b 100644 --- a/src/main/java/ua/in/smartjava/alias/id/WildcardID.java +++ b/src/main/java/io/github/dsheirer/alias/id/WildcardID.java @@ -16,7 +16,7 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias.id; +package io.github.dsheirer.alias.id; import org.apache.commons.lang3.Validate; @@ -57,7 +57,7 @@ public class WildcardID implements Comparable } catch(Exception e) { - throw new IllegalArgumentException("Invalid regex pattern for ua.in.smartjava.alias ID value [" + value + "]", e); + throw new IllegalArgumentException("Invalid regex pattern for alias ID value [" + value + "]", e); } mWeight = calculateWeight(); @@ -69,7 +69,7 @@ public class WildcardID implements Comparable } /** - * Indicates if the id matches the internal regex pattern for this wildcard ua.in.smartjava.alias ID + * Indicates if the id matches the internal regex pattern for this wildcard alias ID * @param id * @return */ diff --git a/src/main/java/ua/in/smartjava/alias/id/broadcast/BroadcastChannel.java b/src/main/java/io/github/dsheirer/alias/id/broadcast/BroadcastChannel.java similarity index 87% rename from src/main/java/ua/in/smartjava/alias/id/broadcast/BroadcastChannel.java rename to src/main/java/io/github/dsheirer/alias/id/broadcast/BroadcastChannel.java index 900403bb..97f5ed77 100644 --- a/src/main/java/ua/in/smartjava/alias/id/broadcast/BroadcastChannel.java +++ b/src/main/java/io/github/dsheirer/alias/id/broadcast/BroadcastChannel.java @@ -16,10 +16,10 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.alias.id.broadcast; +package io.github.dsheirer.alias.id.broadcast; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; @@ -73,7 +73,7 @@ public class BroadcastChannel extends AliasID implements Comparable * ******************************************************************************/ -package ua.in.smartjava.alias.id.broadcast; +package io.github.dsheirer.alias.id.broadcast; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.audio.broadcast.BroadcastConfiguration; -import ua.in.smartjava.audio.broadcast.BroadcastModel; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.audio.broadcast.BroadcastConfiguration; +import io.github.dsheirer.audio.broadcast.BroadcastModel; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; import javax.swing.*; import java.awt.*; @@ -38,8 +38,8 @@ public class BroadcastChannelEditor extends DocumentListenerEditor private static final String HELP_TEXT = "" + "

Audio Broadcast Channel

" - + "Name of a ua.in.smartjava.audio streaming broadcast configuration
" - + "to be used for streaming ua.in.smartjava.audio to an external
" + + "Name of a audio streaming broadcast configuration
" + + "to be used for streaming audio to an external
" + "streaming server"; private JComboBox mBroadcastConfigurations; diff --git a/src/main/java/ua/in/smartjava/alias/id/esn/ESNEditor.java b/src/main/java/io/github/dsheirer/alias/id/esn/ESNEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/esn/ESNEditor.java rename to src/main/java/io/github/dsheirer/alias/id/esn/ESNEditor.java index c58ccadb..98147d69 100644 --- a/src/main/java/ua/in/smartjava/alias/id/esn/ESNEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/esn/ESNEditor.java @@ -15,22 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.esn; +package io.github.dsheirer.alias.id.esn; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class ESNEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/esn/Esn.java b/src/main/java/io/github/dsheirer/alias/id/esn/Esn.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/esn/Esn.java rename to src/main/java/io/github/dsheirer/alias/id/esn/Esn.java index 89ab16b1..ccdbc23e 100644 --- a/src/main/java/ua/in/smartjava/alias/id/esn/Esn.java +++ b/src/main/java/io/github/dsheirer/alias/id/esn/Esn.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.esn; +package io.github.dsheirer.alias.id.esn; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class Esn extends AliasID { private String mEsn; diff --git a/src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncID.java b/src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncID.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncID.java rename to src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncID.java index bf29e3fc..feae219c 100644 --- a/src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncID.java +++ b/src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncID.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.fleetsync; +package io.github.dsheirer.alias.id.fleetsync; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class FleetsyncID extends AliasID { diff --git a/src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncIDEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncIDEditor.java index 5283f35f..c1d54c6f 100644 --- a/src/main/java/ua/in/smartjava/alias/id/fleetsync/FleetsyncIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/fleetsync/FleetsyncIDEditor.java @@ -15,27 +15,19 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.fleetsync; - -import ua.in.smartjava.gui.editor.DocumentListenerEditor; - -import java.awt.Color; -import java.awt.Cursor; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; +package io.github.dsheirer.alias.id.fleetsync; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; import net.miginfocom.swing.MigLayout; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.github.dsheirer.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasID; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; public class FleetsyncIDEditor extends DocumentListenerEditor { diff --git a/src/main/java/ua/in/smartjava/alias/id/lojack/LoJackFunctionAndID.java b/src/main/java/io/github/dsheirer/alias/id/lojack/LoJackFunctionAndID.java similarity index 84% rename from src/main/java/ua/in/smartjava/alias/id/lojack/LoJackFunctionAndID.java rename to src/main/java/io/github/dsheirer/alias/id/lojack/LoJackFunctionAndID.java index 2fa5f0bd..294cba9e 100644 --- a/src/main/java/ua/in/smartjava/alias/id/lojack/LoJackFunctionAndID.java +++ b/src/main/java/io/github/dsheirer/alias/id/lojack/LoJackFunctionAndID.java @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.lojack; +package io.github.dsheirer.alias.id.lojack; + + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; +import io.github.dsheirer.module.decode.lj1200.LJ1200Message; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.module.decode.lj1200.LJ1200Message; -import ua.in.smartjava.module.decode.lj1200.LJ1200Message.Function; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class LoJackFunctionAndID extends AliasID { - private LJ1200Message.Function mFunction = Function.F0_UNKNOWN; + private LJ1200Message.Function mFunction = LJ1200Message.Function.F0_UNKNOWN; private String mID = "*****"; public LoJackFunctionAndID() @@ -45,12 +45,12 @@ public class LoJackFunctionAndID extends AliasID } @XmlAttribute( name="function" ) - public Function getFunction() + public LJ1200Message.Function getFunction() { return mFunction; } - public void setFunction( Function function ) + public void setFunction( LJ1200Message.Function function ) { mFunction = function; } @@ -67,9 +67,9 @@ public class LoJackFunctionAndID extends AliasID } /** - * Indicates if the function and id combination match this ua.in.smartjava.alias id + * Indicates if the function and id combination match this alias id */ - public boolean matches( Function function, String id ) + public boolean matches(LJ1200Message.Function function, String id ) { return mFunction == function && mID != null && diff --git a/src/main/java/ua/in/smartjava/alias/id/lojack/LoJackIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/lojack/LoJackIDEditor.java similarity index 90% rename from src/main/java/ua/in/smartjava/alias/id/lojack/LoJackIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/lojack/LoJackIDEditor.java index 45cad800..93266193 100644 --- a/src/main/java/ua/in/smartjava/alias/id/lojack/LoJackIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/lojack/LoJackIDEditor.java @@ -15,29 +15,22 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.lojack; +package io.github.dsheirer.alias.id.lojack; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.module.decode.lj1200.LJ1200Message; +import io.github.dsheirer.module.decode.lj1200.LJ1200Message.Function; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JComboBox; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; - -import ua.in.smartjava.module.decode.lj1200.LJ1200Message; -import ua.in.smartjava.module.decode.lj1200.LJ1200Message.Function; -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class LoJackIDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200ID.java b/src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200ID.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200ID.java rename to src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200ID.java index 85580ab7..5d4e2767 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200ID.java +++ b/src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200ID.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mdc; +package io.github.dsheirer.alias.id.mdc; + + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class MDC1200ID extends AliasID { diff --git a/src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200IDEditor.java b/src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200IDEditor.java similarity index 90% rename from src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200IDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200IDEditor.java index b06aa01a..64a5b9e6 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mdc/MDC1200IDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/mdc/MDC1200IDEditor.java @@ -15,24 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mdc; +package io.github.dsheirer.alias.id.mdc; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class MDC1200IDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/mobileID/MINEditor.java b/src/main/java/io/github/dsheirer/alias/id/mobileID/MINEditor.java similarity index 90% rename from src/main/java/ua/in/smartjava/alias/id/mobileID/MINEditor.java rename to src/main/java/io/github/dsheirer/alias/id/mobileID/MINEditor.java index 6c865431..ff2a4f8d 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mobileID/MINEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/mobileID/MINEditor.java @@ -15,24 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mobileID; +package io.github.dsheirer.alias.id.mobileID; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class MINEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/mobileID/Min.java b/src/main/java/io/github/dsheirer/alias/id/mobileID/Min.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/mobileID/Min.java rename to src/main/java/io/github/dsheirer/alias/id/mobileID/Min.java index 3509b426..3288b9fd 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mobileID/Min.java +++ b/src/main/java/io/github/dsheirer/alias/id/mobileID/Min.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mobileID; +package io.github.dsheirer.alias.id.mobileID; + + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - /** * Mobile ID Number */ diff --git a/src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327ID.java b/src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327ID.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327ID.java rename to src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327ID.java index 9401411c..336d2eb1 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327ID.java +++ b/src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327ID.java @@ -15,13 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mpt1327; +package io.github.dsheirer.alias.id.mpt1327; + + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class MPT1327ID extends AliasID { private String mID; diff --git a/src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327IDEditor.java b/src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327IDEditor.java similarity index 90% rename from src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327IDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327IDEditor.java index 796cd9e7..53a8e9b4 100644 --- a/src/main/java/ua/in/smartjava/alias/id/mpt1327/MPT1327IDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/mpt1327/MPT1327IDEditor.java @@ -15,24 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.mpt1327; +package io.github.dsheirer.alias.id.mpt1327; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class MPT1327IDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordable.java b/src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordable.java similarity index 70% rename from src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordable.java rename to src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordable.java index df21c36c..889e3206 100644 --- a/src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordable.java +++ b/src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordable.java @@ -1,7 +1,7 @@ -package ua.in.smartjava.alias.id.nonrecordable; +package io.github.dsheirer.alias.id.nonrecordable; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; public class NonRecordable extends AliasID { diff --git a/src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordableEditor.java b/src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordableEditor.java similarity index 75% rename from src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordableEditor.java rename to src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordableEditor.java index 3c7d8c31..23e9e936 100644 --- a/src/main/java/ua/in/smartjava/alias/id/nonrecordable/NonRecordableEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/nonrecordable/NonRecordableEditor.java @@ -15,32 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.nonrecordable; +package io.github.dsheirer.alias.id.nonrecordable; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class NonRecordableEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; private static final String HELP_TEXT = "" + "

Audio Non-Recordable

" - + "This identifies an ua.in.smartjava.alias as non-recordable.

" - + "The ua.in.smartjava.alias can still be monitored but associated ua.in.smartjava.audio will
" + + "This identifies an alias as non-recordable.

" + + "The alias can still be monitored but associated audio will
" + "not be recorded.

" - + "The default behavior when ua.in.smartjava.audio recording is enabled for a
" - + "ua.in.smartjava.channel is to ua.in.smartjava.record all aliases except any ua.in.smartjava.alias with a
" + + "The default behavior when audio recording is enabled for a
" + + "channel is to record all aliases except any alias with a
" + "non-recordable identifier"; public NonRecordableEditor( AliasID aliasID ) diff --git a/src/main/java/ua/in/smartjava/alias/id/priority/Priority.java b/src/main/java/io/github/dsheirer/alias/id/priority/Priority.java similarity index 86% rename from src/main/java/ua/in/smartjava/alias/id/priority/Priority.java rename to src/main/java/io/github/dsheirer/alias/id/priority/Priority.java index fc37da40..2d3520ae 100644 --- a/src/main/java/ua/in/smartjava/alias/id/priority/Priority.java +++ b/src/main/java/io/github/dsheirer/alias/id/priority/Priority.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.priority; +package io.github.dsheirer.alias.id.priority; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - /** - * Specifies an (ua.in.smartjava.audio) priority level for this ua.in.smartjava.alias. + * Specifies an (audio) priority level for this alias. */ public class Priority extends AliasID { @@ -46,7 +46,7 @@ public class Priority extends AliasID } /** - * Indicates the associated ua.in.smartjava.alias should not be monitored or tracked. + * Indicates the associated alias should not be monitored or tracked. */ public boolean isDoNotMonitor() { diff --git a/src/main/java/ua/in/smartjava/alias/id/priority/PriorityEditor.java b/src/main/java/io/github/dsheirer/alias/id/priority/PriorityEditor.java similarity index 90% rename from src/main/java/ua/in/smartjava/alias/id/priority/PriorityEditor.java rename to src/main/java/io/github/dsheirer/alias/id/priority/PriorityEditor.java index 7e7f3663..767625c5 100644 --- a/src/main/java/ua/in/smartjava/alias/id/priority/PriorityEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/priority/PriorityEditor.java @@ -15,23 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.priority; +package io.github.dsheirer.alias.id.priority; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JSlider; +import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; public class PriorityEditor extends DocumentListenerEditor { @@ -42,8 +37,8 @@ public class PriorityEditor extends DocumentListenerEditor private static final String HELP_TEXT = "" + "

Call Audio Priority

" + "Priority determines which calls have priority for playback
" - + "over your computer speakers, or designates an ua.in.smartjava.alias for
" - + "no-monitoring if you don't want to hear calls from an ua.in.smartjava.alias.

" + + "over your computer speakers, or designates an alias for
" + + "no-monitoring if you don't want to hear calls from an alias.

" + "Lower values indicate higher priority levels.

" + "Do Not Monitor: slide priority all the way to the right" + ""; diff --git a/src/main/java/ua/in/smartjava/alias/id/siteID/SiteID.java b/src/main/java/io/github/dsheirer/alias/id/siteID/SiteID.java similarity index 87% rename from src/main/java/ua/in/smartjava/alias/id/siteID/SiteID.java rename to src/main/java/io/github/dsheirer/alias/id/siteID/SiteID.java index 1abae20a..601b2308 100644 --- a/src/main/java/ua/in/smartjava/alias/id/siteID/SiteID.java +++ b/src/main/java/io/github/dsheirer/alias/id/siteID/SiteID.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.siteID; +package io.github.dsheirer.alias.id.siteID; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class SiteID extends AliasID { private String mSite; diff --git a/src/main/java/ua/in/smartjava/alias/id/siteID/SiteIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/siteID/SiteIDEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/siteID/SiteIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/siteID/SiteIDEditor.java index e89a5070..4b54f7cf 100644 --- a/src/main/java/ua/in/smartjava/alias/id/siteID/SiteIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/siteID/SiteIDEditor.java @@ -15,22 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.siteID; +package io.github.dsheirer.alias.id.siteID; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class SiteIDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/status/StatusID.java b/src/main/java/io/github/dsheirer/alias/id/status/StatusID.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/status/StatusID.java rename to src/main/java/io/github/dsheirer/alias/id/status/StatusID.java index 5b995649..fec84635 100644 --- a/src/main/java/ua/in/smartjava/alias/id/status/StatusID.java +++ b/src/main/java/io/github/dsheirer/alias/id/status/StatusID.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.status; +package io.github.dsheirer.alias.id.status; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class StatusID extends AliasID { private int mStatus; diff --git a/src/main/java/ua/in/smartjava/alias/id/status/StatusIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/status/StatusIDEditor.java similarity index 88% rename from src/main/java/ua/in/smartjava/alias/id/status/StatusIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/status/StatusIDEditor.java index a81d69ed..69a4b996 100644 --- a/src/main/java/ua/in/smartjava/alias/id/status/StatusIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/status/StatusIDEditor.java @@ -15,24 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.status; +package io.github.dsheirer.alias.id.status; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import javax.swing.text.MaskFormatter; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; -import javax.swing.text.MaskFormatter; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class StatusIDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; @@ -42,7 +36,7 @@ public class StatusIDEditor extends DocumentListenerEditor + "Status numbers are used in some protocols like Fleetsync.

" + "The status number is assigned a meaning in the radio. You
" + "can assign a 3 digit status code (use leading zeros) to an
" - + "ua.in.smartjava.alias where the ua.in.smartjava.alias contains the status meaning.

" + + "alias where the alias contains the status meaning.

" + "Status: 001 engine start" + ""; diff --git a/src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupID.java b/src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupID.java similarity index 93% rename from src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupID.java rename to src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupID.java index 1aee13af..1b9f3bcb 100644 --- a/src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupID.java +++ b/src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupID.java @@ -15,10 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.talkgroup; +package io.github.dsheirer.alias.id.talkgroup; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; diff --git a/src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupIDEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupIDEditor.java index 39b058d5..744f674c 100644 --- a/src/main/java/ua/in/smartjava/alias/id/talkgroup/TalkgroupIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/talkgroup/TalkgroupIDEditor.java @@ -15,22 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.talkgroup; +package io.github.dsheirer.alias.id.talkgroup; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class TalkgroupIDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueID.java b/src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueID.java similarity index 92% rename from src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueID.java rename to src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueID.java index 5d6b05bf..27413124 100644 --- a/src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueID.java +++ b/src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueID.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.uniqueID; +package io.github.dsheirer.alias.id.uniqueID; + +import io.github.dsheirer.alias.id.AliasID; +import io.github.dsheirer.alias.id.AliasIDType; import javax.xml.bind.annotation.XmlAttribute; -import ua.in.smartjava.alias.id.AliasID; -import ua.in.smartjava.alias.id.AliasIDType; - public class UniqueID extends AliasID { private int mUid; diff --git a/src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueIDEditor.java b/src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueIDEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueIDEditor.java rename to src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueIDEditor.java index fb402714..eb9816cd 100644 --- a/src/main/java/ua/in/smartjava/alias/id/uniqueID/UniqueIDEditor.java +++ b/src/main/java/io/github/dsheirer/alias/id/uniqueID/UniqueIDEditor.java @@ -15,22 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.alias.id.uniqueID; +package io.github.dsheirer.alias.id.uniqueID; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import net.miginfocom.swing.MigLayout; +import io.github.dsheirer.alias.id.AliasID; -import java.awt.Color; -import java.awt.Cursor; +import javax.swing.*; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JTextField; - -import net.miginfocom.swing.MigLayout; -import ua.in.smartjava.alias.id.AliasID; - public class UniqueIDEditor extends DocumentListenerEditor { private static final long serialVersionUID = 1L; diff --git a/src/main/java/ua/in/smartjava/audio/AudioChannelPanel.java b/src/main/java/io/github/dsheirer/audio/AudioChannelPanel.java similarity index 90% rename from src/main/java/ua/in/smartjava/audio/AudioChannelPanel.java rename to src/main/java/io/github/dsheirer/audio/AudioChannelPanel.java index 84a6f129..4be52c57 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioChannelPanel.java +++ b/src/main/java/io/github/dsheirer/audio/AudioChannelPanel.java @@ -16,21 +16,21 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.alias.Alias; -import ua.in.smartjava.audio.output.AudioOutput; -import ua.in.smartjava.channel.metadata.Metadata; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.output.AudioOutput; +import io.github.dsheirer.channel.metadata.Metadata; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.properties.SystemProperties; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.settings.ColorSetting; +import io.github.dsheirer.settings.Setting; +import io.github.dsheirer.settings.SettingChangeListener; +import io.github.dsheirer.settings.SettingsManager; import net.miginfocom.swing.MigLayout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.properties.SystemProperties; -import ua.in.smartjava.sample.Listener; -import settings.ColorSetting; -import settings.Setting; -import settings.SettingChangeListener; -import settings.SettingsManager; +import io.github.dsheirer.alias.Alias; import javax.swing.*; import java.awt.*; @@ -41,7 +41,7 @@ public class AudioChannelPanel extends JPanel private static final long serialVersionUID = 1L; private static final Logger mLog = LoggerFactory.getLogger(AudioChannelPanel.class); - public static final String PROPERTY_PREFIX = "ua.in.smartjava.audio.ua.in.smartjava.channel.panel.color."; + public static final String PROPERTY_PREFIX = "audio.channel.panel.color."; public static final String PROPERTY_COLOR_BACKGROUND = PROPERTY_PREFIX + "background"; public static final String PROPERTY_COLOR_LABEL = PROPERTY_PREFIX + "label"; public static final String PROPERTY_COLOR_MUTED = PROPERTY_PREFIX + "muted"; @@ -155,7 +155,7 @@ public class AudioChannelPanel extends JPanel } /** - * Updates the ua.in.smartjava.alias label with text and ua.in.smartjava.icon from the ua.in.smartjava.alias. Note: this + * Updates the alias label with text and icon from the alias. Note: this * does not occur on the Swing event thread -- wrap any calls to this * method with an event thread call. */ @@ -194,7 +194,7 @@ public class AudioChannelPanel extends JPanel } /** - * Processes ua.in.smartjava.audio metadata to update this panel's display values + * Processes audio metadata to update this panel's display values */ public class AudioMetadataProcessor implements Listener { diff --git a/src/main/java/ua/in/smartjava/audio/AudioChannelsPanel.java b/src/main/java/io/github/dsheirer/audio/AudioChannelsPanel.java similarity index 86% rename from src/main/java/ua/in/smartjava/audio/AudioChannelsPanel.java rename to src/main/java/io/github/dsheirer/audio/AudioChannelsPanel.java index 89e50d9b..a3db071b 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioChannelsPanel.java +++ b/src/main/java/io/github/dsheirer/audio/AudioChannelsPanel.java @@ -16,12 +16,12 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.audio.output.AudioOutput; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.output.AudioOutput; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.settings.SettingsManager; import net.miginfocom.swing.MigLayout; -import settings.SettingsManager; import javax.swing.*; import java.awt.*; @@ -51,8 +51,8 @@ public class AudioChannelsPanel extends JPanel } } - /* Add an empty ua.in.smartjava.channel panel so that the panel is sized appropriately - * for either a single ua.in.smartjava.channel or two channels */ + /* Add an empty channel panel so that the panel is sized appropriately + * for either a single channel or two channels */ if(outputs.size() == 1) { addSeparator(); diff --git a/src/main/java/ua/in/smartjava/audio/AudioEvent.java b/src/main/java/io/github/dsheirer/audio/AudioEvent.java similarity index 93% rename from src/main/java/ua/in/smartjava/audio/AudioEvent.java rename to src/main/java/io/github/dsheirer/audio/AudioEvent.java index cb20baba..c77a6ea2 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioEvent.java +++ b/src/main/java/io/github/dsheirer/audio/AudioEvent.java @@ -1,4 +1,4 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; public class AudioEvent { diff --git a/src/main/java/ua/in/smartjava/audio/AudioException.java b/src/main/java/io/github/dsheirer/audio/AudioException.java similarity index 89% rename from src/main/java/ua/in/smartjava/audio/AudioException.java rename to src/main/java/io/github/dsheirer/audio/AudioException.java index f6ed7a99..f3374b34 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioException.java +++ b/src/main/java/io/github/dsheirer/audio/AudioException.java @@ -1,4 +1,4 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; public class AudioException extends Exception { diff --git a/src/main/java/ua/in/smartjava/audio/AudioFormats.java b/src/main/java/io/github/dsheirer/audio/AudioFormats.java similarity index 92% rename from src/main/java/ua/in/smartjava/audio/AudioFormats.java rename to src/main/java/io/github/dsheirer/audio/AudioFormats.java index 4db81790..c6cbed82 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioFormats.java +++ b/src/main/java/io/github/dsheirer/audio/AudioFormats.java @@ -1,4 +1,4 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.DataLine; @@ -72,13 +72,13 @@ public class AudioFormats LITTLE_ENDIAN ); /** - * Source Data Line Info for a 48 kHz, 16-ua.in.smartjava.bits signed PCM one ua.in.smartjava.channel + * Source Data Line Info for a 48 kHz, 16-bits signed PCM one channel */ public static final Line.Info MONO_SOURCE_DATALINE_INFO = new DataLine.Info( SourceDataLine.class, PCM_SIGNED_8KHZ_16BITS_MONO); /** - * Source Data Line Info for a 48 kHz, 16-ua.in.smartjava.bits signed PCM two channels + * Source Data Line Info for a 48 kHz, 16-bits signed PCM two channels */ public static final Line.Info STEREO_SOURCE_DATALINE_INFO = new DataLine.Info( SourceDataLine.class, PCM_SIGNED_8KHZ_16BITS_STEREO); diff --git a/src/main/java/ua/in/smartjava/audio/AudioManager.java b/src/main/java/io/github/dsheirer/audio/AudioManager.java similarity index 74% rename from src/main/java/ua/in/smartjava/audio/AudioManager.java rename to src/main/java/io/github/dsheirer/audio/AudioManager.java index 3e0b80fa..c0f1d877 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioManager.java +++ b/src/main/java/io/github/dsheirer/audio/AudioManager.java @@ -16,21 +16,20 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.audio.AudioEvent.Type; -import ua.in.smartjava.audio.output.AudioOutput; -import ua.in.smartjava.audio.output.MonoAudioOutput; -import ua.in.smartjava.audio.output.StereoAudioOutput; +import io.github.dsheirer.audio.output.AudioOutput; +import io.github.dsheirer.audio.output.MonoAudioOutput; +import io.github.dsheirer.audio.output.StereoAudioOutput; +import io.github.dsheirer.properties.SystemProperties; +import io.github.dsheirer.sample.Broadcaster; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.source.mixer.MixerChannel; +import io.github.dsheirer.source.mixer.MixerChannelConfiguration; +import io.github.dsheirer.source.mixer.MixerManager; +import io.github.dsheirer.util.ThreadPool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.properties.SystemProperties; -import ua.in.smartjava.sample.Broadcaster; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.source.mixer.MixerChannel; -import ua.in.smartjava.source.mixer.MixerChannelConfiguration; -import ua.in.smartjava.source.mixer.MixerManager; -import ua.in.smartjava.util.ThreadPool; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Mixer; @@ -50,14 +49,14 @@ public class AudioManager implements Listener, IAudioController public static final int AUDIO_TIMEOUT = 1000; //1 second - public static final String AUDIO_CHANNELS_PROPERTY = "ua.in.smartjava.audio.manager.channels"; - public static final String AUDIO_MIXER_PROPERTY = "ua.in.smartjava.audio.manager.mixer"; + public static final String AUDIO_CHANNELS_PROPERTY = "audio.manager.channels"; + public static final String AUDIO_MIXER_PROPERTY = "audio.manager.mixer"; public static final AudioEvent CONFIGURATION_CHANGE_STARTED = - new AudioEvent(Type.AUDIO_CONFIGURATION_CHANGE_STARTED, null); + new AudioEvent(AudioEvent.Type.AUDIO_CONFIGURATION_CHANGE_STARTED, null); public static final AudioEvent CONFIGURATION_CHANGE_COMPLETE = - new AudioEvent(Type.AUDIO_CONFIGURATION_CHANGE_COMPLETE, null); + new AudioEvent(AudioEvent.Type.AUDIO_CONFIGURATION_CHANGE_COMPLETE, null); private LinkedTransferQueue mAudioPacketQueue = new LinkedTransferQueue<>(); private Map mChannelConnectionMap = new HashMap<>(); @@ -75,8 +74,8 @@ public class AudioManager implements Listener, IAudioController /** - * Processes all ua.in.smartjava.audio produced by the decoding channels and routes ua.in.smartjava.audio - * packets to any combination of outputs based on any ua.in.smartjava.alias ua.in.smartjava.audio routing + * Processes all audio produced by the decoding channels and routes audio + * packets to any combination of outputs based on any alias audio routing * options specified by the user. */ public AudioManager(MixerManager mixerManager) @@ -87,7 +86,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Loads the saved mixer configuration or a default configuration for ua.in.smartjava.audio playback. + * Loads the saved mixer configuration or a default configuration for audio playback. */ private void loadSettings() { @@ -122,7 +121,7 @@ public class AudioManager implements Listener, IAudioController } catch(Exception e) { - mLog.error("Couldn't set stored ua.in.smartjava.audio mixer/ua.in.smartjava.channel configuration - using default", e); + mLog.error("Couldn't set stored audio mixer/channel configuration - using default", e); try { @@ -130,17 +129,17 @@ public class AudioManager implements Listener, IAudioController } catch(Exception e2) { - mLog.error("Couldn't set default ua.in.smartjava.audio mixer/ua.in.smartjava.channel configuration - no ua.in.smartjava.audio will be available", e2); + mLog.error("Couldn't set default audio mixer/channel configuration - no audio will be available", e2); } } } /** - * Creates a default ua.in.smartjava.audio playback configuration with a mono ua.in.smartjava.audio playback ua.in.smartjava.channel. + * Creates a default audio playback configuration with a mono audio playback channel. */ private MixerChannelConfiguration getDefaultConfiguration() { - /* Use the system default mixer and mono ua.in.smartjava.channel as default startup */ + /* Use the system default mixer and mono channel as default startup */ Mixer defaultMixer = AudioSystem.getMixer(null); return new MixerChannelConfiguration(defaultMixer, MixerChannel.MONO); @@ -168,7 +167,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Primary ingest point for ua.in.smartjava.audio produced by all decoding channels, for distribution to ua.in.smartjava.audio playback devices. + * Primary ingest point for audio produced by all decoding channels, for distribution to audio playback devices. */ @Override public synchronized void receive(AudioPacket packet) @@ -177,7 +176,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Checks each ua.in.smartjava.audio ua.in.smartjava.channel assignment and disconnects any inactive connections + * Checks each audio channel assignment and disconnects any inactive connections */ private void disconnectInactiveChannelAssignments() { @@ -201,7 +200,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Identifies the lowest priority ua.in.smartjava.channel connection where the a higher value indicates a lower priority. + * Identifies the lowest priority channel connection where the a higher value indicates a lower priority. */ private void updateLowestPriorityAssignment() { @@ -218,9 +217,9 @@ public class AudioManager implements Listener, IAudioController } /** - * Configures ua.in.smartjava.audio playback to use the configuration specified in the entry argument. + * Configures audio playback to use the configuration specified in the entry argument. * - * @param entry to use in configuring the ua.in.smartjava.audio playback setup. + * @param entry to use in configuring the audio playback setup. * @throws AudioException if there is an error */ @Override @@ -230,10 +229,10 @@ public class AudioManager implements Listener, IAudioController } /** - * Configures ua.in.smartjava.audio playback to use the configuration specified in the entry argument. + * Configures audio playback to use the configuration specified in the entry argument. * - * @param entry to use in configuring the ua.in.smartjava.audio playback setup. - * @param saveSettings to save the ua.in.smartjava.audio playback configuration settings in the ua.in.smartjava.properties file. + * @param entry to use in configuring the audio playback setup. + * @param saveSettings to save the audio playback configuration settings in the properties file. * @throws AudioException if there is an error */ public void setMixerChannelConfiguration(MixerChannelConfiguration entry, boolean saveSettings) throws AudioException @@ -269,7 +268,7 @@ public class AudioManager implements Listener, IAudioController mAudioOutputMap.put(right.getChannelName(), right); break; default: - throw new AudioException("Unsupported mixer ua.in.smartjava.channel " + throw new AudioException("Unsupported mixer channel " + "configuration: " + entry.getMixerChannel()); } @@ -288,8 +287,8 @@ public class AudioManager implements Listener, IAudioController } /** - * Clears all ua.in.smartjava.channel assignments and terminates all ua.in.smartjava.audio outputs in preparation for complete shutdown or change - * to another mixer/ua.in.smartjava.channel configuration + * Clears all channel assignments and terminates all audio outputs in preparation for complete shutdown or change + * to another mixer/channel configuration */ private void disposeCurrentConfiguration() { @@ -310,7 +309,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Current ua.in.smartjava.audio playback mixer ua.in.smartjava.channel configuration setting. + * Current audio playback mixer channel configuration setting. */ @Override public MixerChannelConfiguration getMixerChannelConfiguration() throws AudioException @@ -319,7 +318,7 @@ public class AudioManager implements Listener, IAudioController } /** - * List of ua.in.smartjava.audio outputs available for the current mixer ua.in.smartjava.channel configuration + * List of audio outputs available for the current mixer channel configuration */ @Override public List getAudioOutputs() @@ -339,7 +338,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Adds an ua.in.smartjava.audio event listener to receive ua.in.smartjava.audio event notifications. + * Adds an audio event listener to receive audio event notifications. */ @Override public void addControllerListener(Listener listener) @@ -348,7 +347,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Removes an ua.in.smartjava.audio event listener from receiving ua.in.smartjava.audio event notifications. + * Removes an audio event listener from receiving audio event notifications. */ @Override public void removeControllerListener(Listener listener) @@ -357,11 +356,11 @@ public class AudioManager implements Listener, IAudioController } /** - * Returns an ua.in.smartjava.audio output connection for the packet if one is available, or overrides an existing lower priority - * connection. Returns null if no connection is available for the ua.in.smartjava.audio packet. + * Returns an audio output connection for the packet if one is available, or overrides an existing lower priority + * connection. Returns null if no connection is available for the audio packet. * - * @param audioPacket from a decoding ua.in.smartjava.channel ua.in.smartjava.source - * @return an ua.in.smartjava.audio output connection or null + * @param audioPacket from a decoding channel source + * @return an audio output connection or null */ private AudioOutputConnection getConnection(AudioPacket audioPacket) { @@ -441,15 +440,15 @@ public class AudioManager implements Listener, IAudioController } catch(Exception e) { - mLog.error("Encountered error while processing ua.in.smartjava.audio packets", e); + mLog.error("Encountered error while processing audio packets", e); } } } /** - * Audio output connection manages a connection between a ua.in.smartjava.source and an ua.in.smartjava.audio - * output and maintains current state information about the ua.in.smartjava.audio activity - * received form the ua.in.smartjava.source. + * Audio output connection manages a connection between a source and an audio + * output and maintains current state information about the audio activity + * received form the source. */ public class AudioOutputConnection { @@ -485,18 +484,18 @@ public class AudioManager implements Listener, IAudioController { if(packet.hasMetadata()) { - mLog.error("Received ua.in.smartjava.audio packet from ua.in.smartjava.channel metadata [" + packet.getMetadata().getMetadataID() + + mLog.error("Received audio packet from channel metadata [" + packet.getMetadata().getMetadataID() + "] however this assignment is currently connected to metadata [" + mChannelMetadataID + "]"); } else { - mLog.error("Received ua.in.smartjava.audio packet with no metadata - cannot route ua.in.smartjava.audio packet"); + mLog.error("Received audio packet with no metadata - cannot route audio packet"); } } } /** - * Terminates the ua.in.smartjava.audio output and prepares this connection for disposal + * Terminates the audio output and prepares this connection for disposal */ public void dispose() { @@ -505,7 +504,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Indicates if this assignment is currently disconnected from a ua.in.smartjava.channel ua.in.smartjava.source + * Indicates if this assignment is currently disconnected from a channel source */ public boolean isDisconnected() { @@ -513,7 +512,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Indicates if this assignment is currently connected to a ua.in.smartjava.channel ua.in.smartjava.source + * Indicates if this assignment is currently connected to a channel source */ public boolean isConnected() { @@ -521,8 +520,8 @@ public class AudioManager implements Listener, IAudioController } /** - * Connects this assignment to the indicated ua.in.smartjava.source so that ua.in.smartjava.audio - * packets from this ua.in.smartjava.source can be sent to the ua.in.smartjava.audio output + * Connects this assignment to the indicated source so that audio + * packets from this source can be sent to the audio output */ public void connect(int source, int priority) { @@ -534,7 +533,7 @@ public class AudioManager implements Listener, IAudioController } /** - * Currently connected ua.in.smartjava.source or -1 if disconnected + * Currently connected source or -1 if disconnected */ public int getChannelMetadataID() { @@ -542,8 +541,8 @@ public class AudioManager implements Listener, IAudioController } /** - * Disconnects this assignment from the ua.in.smartjava.source and prevents any ua.in.smartjava.audio - * from being routed to the ua.in.smartjava.audio output until another ua.in.smartjava.source is assigned + * Disconnects this assignment from the source and prevents any audio + * from being routed to the audio output until another source is assigned */ public void disconnect() { @@ -552,8 +551,8 @@ public class AudioManager implements Listener, IAudioController } /** - * Indicates if ua.in.smartjava.audio output is current inactive, meaning that the - * ua.in.smartjava.audio output hasn't recently processed any ua.in.smartjava.audio packets. + * Indicates if audio output is current inactive, meaning that the + * audio output hasn't recently processed any audio packets. */ public boolean isInactive() { diff --git a/src/main/java/ua/in/smartjava/audio/AudioModule.java b/src/main/java/io/github/dsheirer/audio/AudioModule.java similarity index 76% rename from src/main/java/ua/in/smartjava/audio/AudioModule.java rename to src/main/java/io/github/dsheirer/audio/AudioModule.java index 3b74f428..369dd8ed 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioModule.java +++ b/src/main/java/io/github/dsheirer/audio/AudioModule.java @@ -16,30 +16,30 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.audio.squelch.ISquelchStateListener; -import ua.in.smartjava.audio.squelch.SquelchState; -import ua.in.smartjava.channel.metadata.Metadata; -import ua.in.smartjava.dsp.filter.design.FilterDesignException; -import ua.in.smartjava.dsp.filter.fir.FIRFilterSpecification; -import ua.in.smartjava.dsp.filter.fir.remez.RemezFIRFilterDesigner; -import ua.in.smartjava.dsp.filter.polyphase.PolyphaseFIRDecimatingFilter_RB; -import ua.in.smartjava.module.Module; +import io.github.dsheirer.audio.squelch.ISquelchStateListener; +import io.github.dsheirer.audio.squelch.SquelchState; +import io.github.dsheirer.channel.metadata.Metadata; +import io.github.dsheirer.dsp.filter.design.FilterDesignException; +import io.github.dsheirer.dsp.filter.fir.FIRFilterSpecification; +import io.github.dsheirer.dsp.filter.fir.remez.RemezFIRFilterDesigner; +import io.github.dsheirer.dsp.filter.polyphase.PolyphaseFIRDecimatingFilter_RB; +import io.github.dsheirer.module.Module; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.sample.real.IFilteredRealBufferListener; +import io.github.dsheirer.sample.real.RealBuffer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.sample.real.IFilteredRealBufferListener; -import ua.in.smartjava.sample.real.RealBuffer; import java.util.concurrent.ScheduledExecutorService; /** - * Provides packaging of demodulated ua.in.smartjava.audio ua.in.smartjava.sample buffers into ua.in.smartjava.audio packets for - * broadcast to registered ua.in.smartjava.audio packet listeners. Includes ua.in.smartjava.audio packet - * metadata in constructed ua.in.smartjava.audio packets. + * Provides packaging of demodulated audio sample buffers into audio packets for + * broadcast to registered audio packet listeners. Includes audio packet + * metadata in constructed audio packets. * - * Incorporates ua.in.smartjava.audio squelch state listener to control if ua.in.smartjava.audio packets are + * Incorporates audio squelch state listener to control if audio packets are * broadcast or ignored. */ public class AudioModule extends Module implements IAudioPacketProvider, IFilteredRealBufferListener, @@ -51,7 +51,7 @@ public class AudioModule extends Module implements IAudioPacketProvider, IFilter static { - //Band-pass ua.in.smartjava.filter to both decimate (48kHz to 8kHz) and block 0 - 300 Hz (LTR signalling). + //Band-pass filter to both decimate (48kHz to 8kHz) and block 0 - 300 Hz (LTR signalling). FIRFilterSpecification specification = FIRFilterSpecification.bandPassBuilder() .sampleRate(48000) .stopFrequency1(150) @@ -68,14 +68,14 @@ public class AudioModule extends Module implements IAudioPacketProvider, IFilter { if(!designer.isValid()) { - throw new FilterDesignException("Couldn't design the ua.in.smartjava.audio decimation ua.in.smartjava.filter"); + throw new FilterDesignException("Couldn't design the audio decimation filter"); } mDecimationCoefficients = designer.getImpulseResponse(); } catch(FilterDesignException e) { - mLog.debug("Error designing ua.in.smartjava.filter", e); + mLog.debug("Error designing filter", e); } } @@ -125,7 +125,7 @@ public class AudioModule extends Module implements IAudioPacketProvider, IFilter @Override public void stop() { - /* Issue an end ua.in.smartjava.audio packet in case a recorder is still rolling */ + /* Issue an end audio packet in case a recorder is still rolling */ if(mAudioPacketListener != null) { mAudioPacketListener.receive(new AudioPacket(AudioPacket.Type.END, mMetadata.copyOf())); @@ -133,7 +133,7 @@ public class AudioModule extends Module implements IAudioPacketProvider, IFilter } /** - * Processes demodulated ua.in.smartjava.audio samples into ua.in.smartjava.audio packets with current ua.in.smartjava.audio + * Processes demodulated audio samples into audio packets with current audio * metadata and sends to the registered listener */ @Override diff --git a/src/main/java/ua/in/smartjava/audio/AudioPacket.java b/src/main/java/io/github/dsheirer/audio/AudioPacket.java similarity index 92% rename from src/main/java/ua/in/smartjava/audio/AudioPacket.java rename to src/main/java/io/github/dsheirer/audio/AudioPacket.java index 420183c3..a57f2bdb 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioPacket.java +++ b/src/main/java/io/github/dsheirer/audio/AudioPacket.java @@ -16,10 +16,10 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.channel.metadata.Metadata; -import ua.in.smartjava.sample.real.RealBuffer; +import io.github.dsheirer.channel.metadata.Metadata; +import io.github.dsheirer.sample.real.RealBuffer; public class AudioPacket { diff --git a/src/main/java/ua/in/smartjava/audio/AudioPacketRateCounter.java b/src/main/java/io/github/dsheirer/audio/AudioPacketRateCounter.java similarity index 92% rename from src/main/java/ua/in/smartjava/audio/AudioPacketRateCounter.java rename to src/main/java/io/github/dsheirer/audio/AudioPacketRateCounter.java index 99cb6f89..fbc7ea0d 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioPacketRateCounter.java +++ b/src/main/java/io/github/dsheirer/audio/AudioPacketRateCounter.java @@ -1,10 +1,9 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; +import io.github.dsheirer.sample.Listener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; - public class AudioPacketRateCounter implements Listener { private final static Logger mLog = diff --git a/src/main/java/ua/in/smartjava/audio/AudioPanel.java b/src/main/java/io/github/dsheirer/audio/AudioPanel.java similarity index 94% rename from src/main/java/ua/in/smartjava/audio/AudioPanel.java rename to src/main/java/io/github/dsheirer/audio/AudioPanel.java index 4c6a734d..fda419c4 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioPanel.java +++ b/src/main/java/io/github/dsheirer/audio/AudioPanel.java @@ -16,17 +16,17 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.audio.output.AudioOutput; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.output.AudioOutput; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.settings.SettingsManager; +import io.github.dsheirer.source.SourceManager; +import io.github.dsheirer.source.mixer.MixerChannelConfiguration; import net.miginfocom.swing.MigLayout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; -import settings.SettingsManager; -import ua.in.smartjava.source.SourceManager; -import ua.in.smartjava.source.mixer.MixerChannelConfiguration; import javax.sound.sampled.FloatControl; import javax.swing.*; @@ -177,7 +177,7 @@ public class AudioPanel extends JPanel implements Listener catch(AudioException e) { mLog.error("Error while detecting current mixer " - + "ua.in.smartjava.channel configuration", e); + + "channel configuration", e); } outputMenu.add(mixerItem); @@ -357,12 +357,12 @@ public class AudioPanel extends JPanel implements Listener } catch(AudioException e1) { - mLog.error("Couldn't set mixer ua.in.smartjava.channel configuration " + mLog.error("Couldn't set mixer channel configuration " + "to: " + mConfiguration.toString()); JOptionPane.showMessageDialog(MixerSelectionItem.this, "Couldn't set [" + mConfiguration.toString() + - "] as the ua.in.smartjava.audio output device"); + "] as the audio output device"); } } }); @@ -370,8 +370,8 @@ public class AudioPanel extends JPanel implements Listener } /** - * Mute button to mute all ua.in.smartjava.audio output channels exposed by the ua.in.smartjava.audio - * ua.in.smartjava.controller + * Mute button to mute all audio output channels exposed by the audio + * controller */ public class MuteButton extends JButton { diff --git a/src/main/java/ua/in/smartjava/audio/AudioUtils.java b/src/main/java/io/github/dsheirer/audio/AudioUtils.java similarity index 90% rename from src/main/java/ua/in/smartjava/audio/AudioUtils.java rename to src/main/java/io/github/dsheirer/audio/AudioUtils.java index 34f5c8f9..08b4d3d8 100644 --- a/src/main/java/ua/in/smartjava/audio/AudioUtils.java +++ b/src/main/java/io/github/dsheirer/audio/AudioUtils.java @@ -16,13 +16,12 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; +import io.github.dsheirer.sample.ConversionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.ConversionUtils; - import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.ByteBuffer; @@ -33,7 +32,7 @@ public class AudioUtils private final static Logger mLog = LoggerFactory.getLogger(AudioUtils.class); /** - * Converts the ua.in.smartjava.audio packets into a byte array of 16-bit, little-endian ua.in.smartjava.audio samples + * Converts the audio packets into a byte array of 16-bit, little-endian audio samples */ public static byte[] convertTo16BitSamples(List audioPackets) { diff --git a/src/main/java/ua/in/smartjava/audio/IAudioController.java b/src/main/java/io/github/dsheirer/audio/IAudioController.java similarity index 68% rename from src/main/java/ua/in/smartjava/audio/IAudioController.java rename to src/main/java/io/github/dsheirer/audio/IAudioController.java index d71284f9..a6fe007b 100644 --- a/src/main/java/ua/in/smartjava/audio/IAudioController.java +++ b/src/main/java/io/github/dsheirer/audio/IAudioController.java @@ -1,13 +1,13 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; + +import io.github.dsheirer.audio.output.AudioOutput; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.source.mixer.MixerChannelConfiguration; import java.util.List; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.source.mixer.MixerChannelConfiguration; -import ua.in.smartjava.audio.output.AudioOutput; - /** - * Interface for controlling one or more ua.in.smartjava.audio channels + * Interface for controlling one or more audio channels */ public interface IAudioController { diff --git a/src/main/java/ua/in/smartjava/audio/IAudioPacketListener.java b/src/main/java/io/github/dsheirer/audio/IAudioPacketListener.java similarity index 56% rename from src/main/java/ua/in/smartjava/audio/IAudioPacketListener.java rename to src/main/java/io/github/dsheirer/audio/IAudioPacketListener.java index 42ae2e2f..96833a73 100644 --- a/src/main/java/ua/in/smartjava/audio/IAudioPacketListener.java +++ b/src/main/java/io/github/dsheirer/audio/IAudioPacketListener.java @@ -1,6 +1,6 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.sample.Listener; +import io.github.dsheirer.sample.Listener; public interface IAudioPacketListener { diff --git a/src/main/java/ua/in/smartjava/audio/IAudioPacketProvider.java b/src/main/java/io/github/dsheirer/audio/IAudioPacketProvider.java similarity index 67% rename from src/main/java/ua/in/smartjava/audio/IAudioPacketProvider.java rename to src/main/java/io/github/dsheirer/audio/IAudioPacketProvider.java index dafafa4e..b6623cee 100644 --- a/src/main/java/ua/in/smartjava/audio/IAudioPacketProvider.java +++ b/src/main/java/io/github/dsheirer/audio/IAudioPacketProvider.java @@ -1,6 +1,6 @@ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; -import ua.in.smartjava.sample.Listener; +import io.github.dsheirer.sample.Listener; public interface IAudioPacketProvider { diff --git a/src/main/java/ua/in/smartjava/audio/InversionFrequency.java b/src/main/java/io/github/dsheirer/audio/InversionFrequency.java similarity index 97% rename from src/main/java/ua/in/smartjava/audio/InversionFrequency.java rename to src/main/java/io/github/dsheirer/audio/InversionFrequency.java index 93eea7b9..071dc8bd 100644 --- a/src/main/java/ua/in/smartjava/audio/InversionFrequency.java +++ b/src/main/java/io/github/dsheirer/audio/InversionFrequency.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see ******************************************************************************/ -package ua.in.smartjava.audio; +package io.github.dsheirer.audio; /** * Standard voice inversion foldover frequencies diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/AudioBroadcaster.java b/src/main/java/io/github/dsheirer/audio/broadcast/AudioBroadcaster.java similarity index 86% rename from src/main/java/ua/in/smartjava/audio/broadcast/AudioBroadcaster.java rename to src/main/java/io/github/dsheirer/audio/broadcast/AudioBroadcaster.java index c50964b9..413bbdf1 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/AudioBroadcaster.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/AudioBroadcaster.java @@ -16,14 +16,14 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.audio.convert.ISilenceGenerator; -import ua.in.smartjava.channel.metadata.Metadata; +import io.github.dsheirer.audio.convert.ISilenceGenerator; +import io.github.dsheirer.channel.metadata.Metadata; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.util.ThreadPool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.util.ThreadPool; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -58,25 +58,25 @@ public abstract class AudioBroadcaster implements Listener private AtomicBoolean mStreaming = new AtomicBoolean(); /** - * AudioBroadcaster for streaming ua.in.smartjava.audio recordings to a remote streaming ua.in.smartjava.audio server. Audio recordings are + * AudioBroadcaster for streaming audio recordings to a remote streaming audio server. Audio recordings are * generated by an internal StreamManager that converts an inbound stream of AudioPackets into a recording of the - * desired ua.in.smartjava.audio format (e.g. MP3) and nominates the recording to an internal recording queue for streaming. The - * broadcaster supports receiving ua.in.smartjava.audio packets from multiple ua.in.smartjava.audio sources. Each ua.in.smartjava.audio packet's internal ua.in.smartjava.audio - * metadata ua.in.smartjava.source string is used to reassemble each packet stream. Recordings are capped at 30 seconds length. - * If a ua.in.smartjava.source ua.in.smartjava.audio packet stream exceeds 30 seconds in length, it will be chunked into 30 second recordings. + * desired audio format (e.g. MP3) and nominates the recording to an internal recording queue for streaming. The + * broadcaster supports receiving audio packets from multiple audio sources. Each audio packet's internal audio + * metadata source string is used to reassemble each packet stream. Recordings are capped at 30 seconds length. + * If a source audio packet stream exceeds 30 seconds in length, it will be chunked into 30 second recordings. * - * This broadcaster supports a time delay setting for delaying broadcast of ua.in.smartjava.audio recordings. The delay setting is + * This broadcaster supports a time delay setting for delaying broadcast of audio recordings. The delay setting is * defined in the broadcast configuration. When this delay is greater than zero, the recording will remain in the - * ua.in.smartjava.audio broadcaster queue until the recording start time + delay elapses. Audio recordings are processed in a FIFO + * audio broadcaster queue until the recording start time + delay elapses. Audio recordings are processed in a FIFO * manner. * * Use the start() and stop() methods to connect to/disconnect from the remote server. Audio recordings will be * streamed to the remote server when available. One second silence frames will be broadcast to the server when - * there are no recordings available, in order to maintain a connection with the remote server. Any ua.in.smartjava.audio packet + * there are no recordings available, in order to maintain a connection with the remote server. Any audio packet * streams received while the broadcaster is stopped will be ignored. * - * The last ua.in.smartjava.audio packet's metadata is automatically attached to the closed ua.in.smartjava.audio recording when it is enqueued for - * broadcast. That metadata will be updated on the remote server once the ua.in.smartjava.audio recording is opened for streaming. + * The last audio packet's metadata is automatically attached to the closed audio recording when it is enqueued for + * broadcast. That metadata will be updated on the remote server once the audio recording is opened for streaming. */ public AudioBroadcaster(BroadcastConfiguration broadcastConfiguration) { @@ -87,7 +87,7 @@ public abstract class AudioBroadcaster implements Listener } /** - * Broadcast binary ua.in.smartjava.audio data frames or sequences. + * Broadcast binary audio data frames or sequences. */ protected abstract void broadcastAudio(byte[] audio); @@ -97,7 +97,7 @@ public abstract class AudioBroadcaster implements Listener protected abstract IBroadcastMetadataUpdater getMetadataUpdater(); /** - * Broadcasts the next song's ua.in.smartjava.audio metadata prior to streaming the next song. + * Broadcasts the next song's audio metadata prior to streaming the next song. * * @param metadata for the next recording that will be streamed */ @@ -117,7 +117,7 @@ public abstract class AudioBroadcaster implements Listener protected abstract void disconnect(); /** - * Connects to the remote server specified by the broadcast configuration and starts ua.in.smartjava.audio streaming. + * Connects to the remote server specified by the broadcast configuration and starts audio streaming. */ public void start() { @@ -174,7 +174,7 @@ public abstract class AudioBroadcaster implements Listener } /** - * Number of ua.in.smartjava.audio recordings streamed to remote server + * Number of audio recordings streamed to remote server */ public int getStreamedAudioCount() { @@ -182,7 +182,7 @@ public abstract class AudioBroadcaster implements Listener } /** - * Number of ua.in.smartjava.audio recordings that were removed for exceeding age limit + * Number of audio recordings that were removed for exceeding age limit */ public int getAgedOffAudioCount() { @@ -190,7 +190,7 @@ public abstract class AudioBroadcaster implements Listener } /** - * Primary insert method for the stream manager to nominate completed ua.in.smartjava.audio recordings for broadcast. + * Primary insert method for the stream manager to nominate completed audio recordings for broadcast. * * @param recording to queue for broadcasting */ @@ -257,7 +257,7 @@ public abstract class AudioBroadcaster implements Listener if(!connected()) { - //Remove all pending ua.in.smartjava.audio recordings + //Remove all pending audio recordings while(!mAudioRecordingQueue.isEmpty()) { try @@ -361,7 +361,7 @@ public abstract class AudioBroadcaster implements Listener } catch(IOException ioe) { - mLog.error("Error reading from in-memory ua.in.smartjava.audio recording input stream", ioe); + mLog.error("Error reading from in-memory audio recording input stream", ioe); } } else @@ -371,7 +371,7 @@ public abstract class AudioBroadcaster implements Listener } catch(Exception e) { - mLog.error("Error while processing ua.in.smartjava.audio streaming queue", e); + mLog.error("Error while processing audio streaming queue", e); } mProcessing.set(false); @@ -447,7 +447,7 @@ public abstract class AudioBroadcaster implements Listener } catch(IOException ioe) { - mLog.error("Stream [" + getBroadcastConfiguration().getName() + "] error reading temporary ua.in.smartjava.audio " + + mLog.error("Stream [" + getBroadcastConfiguration().getName() + "] error reading temporary audio " + "stream recording [" + nextRecording.getPath().toString() + "] - skipping recording - ", ioe); mInputStream = null; diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/AudioRecording.java b/src/main/java/io/github/dsheirer/audio/broadcast/AudioRecording.java similarity index 91% rename from src/main/java/ua/in/smartjava/audio/broadcast/AudioRecording.java rename to src/main/java/io/github/dsheirer/audio/broadcast/AudioRecording.java index 8b0382ea..5edbe272 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/AudioRecording.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/AudioRecording.java @@ -16,9 +16,9 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.channel.metadata.Metadata; +import io.github.dsheirer.channel.metadata.Metadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,7 +38,7 @@ public class AudioRecording implements Comparable /** * Audio recording that is ready to be streamed * - * @param path to the ua.in.smartjava.audio recording file + * @param path to the audio recording file * @param metadata associated with the recording * @param start time of recording in milliseconds since epoch * @param recordingLength in milliseconds @@ -52,7 +52,7 @@ public class AudioRecording implements Comparable } /** - * Path to the completed ua.in.smartjava.audio recording + * Path to the completed audio recording */ public Path getPath() { @@ -60,7 +60,7 @@ public class AudioRecording implements Comparable } /** - * Optional ua.in.smartjava.audio metadata for the recording. + * Optional audio metadata for the recording. */ public Metadata getMetadata() { diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfiguration.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfiguration.java similarity index 90% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfiguration.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfiguration.java index c386d26b..3ae8796f 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfiguration.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfiguration.java @@ -16,13 +16,13 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.audio.broadcast.broadcastify.BroadcastifyConfiguration; -import ua.in.smartjava.audio.broadcast.icecast.IcecastHTTPConfiguration; -import ua.in.smartjava.audio.broadcast.icecast.IcecastTCPConfiguration; -import ua.in.smartjava.audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; -import ua.in.smartjava.audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; +import io.github.dsheirer.audio.broadcast.broadcastify.BroadcastifyConfiguration; +import io.github.dsheirer.audio.broadcast.icecast.IcecastHTTPConfiguration; +import io.github.dsheirer.audio.broadcast.icecast.IcecastTCPConfiguration; +import io.github.dsheirer.audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; +import io.github.dsheirer.audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; @@ -59,7 +59,7 @@ public abstract class BroadcastConfiguration public abstract BroadcastConfiguration copyOf(); /** - * Broadcast ua.in.smartjava.audio streaming configuration. Describes the streaming server and configuration details. + * Broadcast audio streaming configuration. Describes the streaming server and configuration details. */ public BroadcastConfiguration(BroadcastFormat format) { @@ -200,7 +200,7 @@ public abstract class BroadcastConfiguration } /** - * Audio broadcastAudio delay from recording start until the ua.in.smartjava.audio file is broadcastAudio to the server. + * Audio broadcastAudio delay from recording start until the audio file is broadcastAudio to the server. */ @XmlAttribute(name = "delay") public long getDelay() @@ -209,7 +209,7 @@ public abstract class BroadcastConfiguration } /** - * User specified delay in milli-seconds from ua.in.smartjava.audio call start until when the ua.in.smartjava.audio is broadcastAudio to the server. + * User specified delay in milli-seconds from audio call start until when the audio is broadcastAudio to the server. * @param delay in milliseconds */ public void setDelay(long delay) diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfigurationEditor.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfigurationEditor.java similarity index 91% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfigurationEditor.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfigurationEditor.java index 62104d89..46aa8c90 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastConfigurationEditor.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastConfigurationEditor.java @@ -16,11 +16,11 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.alias.AliasModel; -import ua.in.smartjava.gui.editor.DocumentListenerEditor; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.gui.editor.DocumentListenerEditor; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.alias.AliasModel; import javax.swing.*; @@ -39,9 +39,9 @@ public abstract class BroadcastConfigurationEditor extends DocumentListenerEdito /** * Updates the configuration with the new name and prompts the user to update any aliases that have a broadcast - * ua.in.smartjava.channel ua.in.smartjava.alias id with the old name to update to the new name. + * channel alias id with the old name to update to the new name. * - * @param broadcastConfiguration to assign a new ua.in.smartjava.channel name + * @param broadcastConfiguration to assign a new channel name * @param newName to assign to the broadcast configuration. Note: assumes that validateConfiguration() has been * invoked to verify that newName is non-null and non-empty */ diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastEvent.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastEvent.java similarity index 90% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastEvent.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastEvent.java index 54ff0645..802c9814 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastEvent.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastEvent.java @@ -16,7 +16,7 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; public class BroadcastEvent { @@ -25,9 +25,9 @@ public class BroadcastEvent private Event mEvent; /** - * AliasEvent - event describing any changes to an ua.in.smartjava.alias + * AliasEvent - event describing any changes to an alias * - * @param configuration - ua.in.smartjava.alias that changed + * @param configuration - alias that changed * @param event - change event */ public BroadcastEvent(BroadcastConfiguration configuration, Event event) @@ -53,7 +53,7 @@ public class BroadcastEvent } /** - * Indicates if this event pertains to an ua.in.smartjava.audio broadcaster + * Indicates if this event pertains to an audio broadcaster */ public boolean isAudioBroadcasterEvent() { diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFactory.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFactory.java similarity index 73% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFactory.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFactory.java index 7c32e390..c9e43f44 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFactory.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFactory.java @@ -16,34 +16,34 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.alias.AliasModel; -import ua.in.smartjava.audio.broadcast.broadcastify.BroadcastifyConfiguration; -import ua.in.smartjava.audio.broadcast.broadcastify.BroadcastifyConfigurationEditor; -import ua.in.smartjava.audio.broadcast.icecast.IcecastHTTPAudioBroadcaster; -import ua.in.smartjava.audio.broadcast.icecast.IcecastHTTPConfiguration; -import ua.in.smartjava.audio.broadcast.icecast.IcecastHTTPConfigurationEditor; -import ua.in.smartjava.audio.broadcast.icecast.IcecastTCPAudioBroadcaster; -import ua.in.smartjava.audio.broadcast.icecast.IcecastTCPConfiguration; -import ua.in.smartjava.audio.broadcast.icecast.IcecastTCPConfigurationEditor; -import ua.in.smartjava.audio.broadcast.shoutcast.v1.ShoutcastV1AudioBroadcaster; -import ua.in.smartjava.audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; -import ua.in.smartjava.audio.broadcast.shoutcast.v1.ShoutcastV1ConfigurationEditor; -import ua.in.smartjava.audio.broadcast.shoutcast.v2.ShoutcastV2AudioBroadcaster; -import ua.in.smartjava.audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; -import ua.in.smartjava.audio.broadcast.shoutcast.v2.ShoutcastV2ConfigurationEditor; -import ua.in.smartjava.audio.convert.IAudioConverter; -import ua.in.smartjava.audio.convert.ISilenceGenerator; -import ua.in.smartjava.audio.convert.MP3AudioConverter; -import ua.in.smartjava.audio.convert.MP3SilenceGenerator; -import ua.in.smartjava.gui.editor.Editor; -import ua.in.smartjava.gui.editor.EmptyEditor; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.broadcast.broadcastify.BroadcastifyConfiguration; +import io.github.dsheirer.audio.broadcast.broadcastify.BroadcastifyConfigurationEditor; +import io.github.dsheirer.audio.broadcast.icecast.IcecastHTTPAudioBroadcaster; +import io.github.dsheirer.audio.broadcast.icecast.IcecastHTTPConfiguration; +import io.github.dsheirer.audio.broadcast.icecast.IcecastHTTPConfigurationEditor; +import io.github.dsheirer.audio.broadcast.icecast.IcecastTCPAudioBroadcaster; +import io.github.dsheirer.audio.broadcast.icecast.IcecastTCPConfiguration; +import io.github.dsheirer.audio.broadcast.icecast.IcecastTCPConfigurationEditor; +import io.github.dsheirer.audio.broadcast.shoutcast.v1.ShoutcastV1AudioBroadcaster; +import io.github.dsheirer.audio.broadcast.shoutcast.v1.ShoutcastV1Configuration; +import io.github.dsheirer.audio.broadcast.shoutcast.v1.ShoutcastV1ConfigurationEditor; +import io.github.dsheirer.audio.broadcast.shoutcast.v2.ShoutcastV2AudioBroadcaster; +import io.github.dsheirer.audio.broadcast.shoutcast.v2.ShoutcastV2Configuration; +import io.github.dsheirer.audio.broadcast.shoutcast.v2.ShoutcastV2ConfigurationEditor; +import io.github.dsheirer.audio.convert.IAudioConverter; +import io.github.dsheirer.audio.convert.ISilenceGenerator; +import io.github.dsheirer.audio.convert.MP3AudioConverter; +import io.github.dsheirer.audio.convert.MP3SilenceGenerator; +import io.github.dsheirer.gui.editor.Editor; +import io.github.dsheirer.gui.editor.EmptyEditor; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.record.AudioRecorder; +import io.github.dsheirer.record.mp3.MP3Recorder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.record.AudioRecorder; -import ua.in.smartjava.record.mp3.MP3Recorder; +import io.github.dsheirer.alias.AliasModel; import java.nio.file.Path; @@ -55,9 +55,9 @@ public class BroadcastFactory public static final boolean MP3_CONSTANT_BITRATE = false; /** - * Creates an ua.in.smartjava.audio streaming broadcaster for the configuration + * Creates an audio streaming broadcaster for the configuration * - * @param configuration describing the server and ua.in.smartjava.audio types + * @param configuration describing the server and audio types * @return configured broadcaster or null */ public static AudioBroadcaster getBroadcaster(BroadcastConfiguration configuration) @@ -92,10 +92,10 @@ public class BroadcastFactory } /** - * Creates an ua.in.smartjava.audio convert to convert from 8 kHz PCM ua.in.smartjava.audio to the specified format + * Creates an audio convert to convert from 8 kHz PCM audio to the specified format * - * @param configuration containing the requested output ua.in.smartjava.audio format - * @return ua.in.smartjava.audio convert or null + * @param configuration containing the requested output audio format + * @return audio convert or null */ public static IAudioConverter getAudioConverter(BroadcastConfiguration configuration) { @@ -114,7 +114,7 @@ public class BroadcastFactory * Creates a broadcastAudio configuration for the specified server type and format * * @param serverType for the configuration - * @param format for the output ua.in.smartjava.audio format + * @param format for the output audio format * @return constructed (empty) configuration */ public static BroadcastConfiguration getConfiguration(BroadcastServerType serverType, BroadcastFormat format) @@ -182,7 +182,7 @@ public class BroadcastFactory } /** - * Creates an ua.in.smartjava.audio recorder for the specified broadcastAudio format using the specified path output file name + * Creates an audio recorder for the specified broadcastAudio format using the specified path output file name */ public static AudioRecorder getAudioRecorder(Path path, BroadcastFormat broadcastFormat) { @@ -191,7 +191,7 @@ public class BroadcastFactory case MP3: return new MP3Recorder(path); default: - mLog.debug("Unrecognized broadcastAudio format [" + broadcastFormat + "] cannot create ua.in.smartjava.audio recorder"); + mLog.debug("Unrecognized broadcastAudio format [" + broadcastFormat + "] cannot create audio recorder"); return null; } } diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFormat.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFormat.java similarity index 93% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFormat.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFormat.java index 06996b4e..a02020a7 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastFormat.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastFormat.java @@ -16,11 +16,11 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; public enum BroadcastFormat { - MP3("ua/in/smartjava/audio/mpeg", ".mp3"); + MP3("audio/mpeg", ".mp3"); private String mValue; private String mFileExtension; diff --git a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastModel.java b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastModel.java similarity index 95% rename from src/main/java/ua/in/smartjava/audio/broadcast/BroadcastModel.java rename to src/main/java/io/github/dsheirer/audio/broadcast/BroadcastModel.java index e358de41..38dae77a 100644 --- a/src/main/java/ua/in/smartjava/audio/broadcast/BroadcastModel.java +++ b/src/main/java/io/github/dsheirer/audio/broadcast/BroadcastModel.java @@ -16,18 +16,18 @@ * along with this program. If not, see * ******************************************************************************/ -package ua.in.smartjava.audio.broadcast; +package io.github.dsheirer.audio.broadcast; -import ua.in.smartjava.alias.id.broadcast.BroadcastChannel; -import ua.in.smartjava.audio.AudioPacket; -import ua.in.smartjava.channel.metadata.Metadata; -import ua.in.smartjava.icon.IconManager; +import io.github.dsheirer.audio.AudioPacket; +import io.github.dsheirer.channel.metadata.Metadata; +import io.github.dsheirer.icon.IconManager; +import io.github.dsheirer.properties.SystemProperties; +import io.github.dsheirer.sample.Broadcaster; +import io.github.dsheirer.sample.Listener; +import io.github.dsheirer.util.ThreadPool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import ua.in.smartjava.properties.SystemProperties; -import ua.in.smartjava.sample.Broadcaster; -import ua.in.smartjava.sample.Listener; -import ua.in.smartjava.util.ThreadPool; +import io.github.dsheirer.alias.id.broadcast.BroadcastChannel; import javax.swing.*; import javax.swing.table.AbstractTableModel; @@ -84,7 +84,7 @@ public class BroadcastModel extends AbstractTableModel implements Listener