mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
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.
This commit is contained in:
@@ -15,29 +15,28 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<BroadcastChannel> 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)
|
||||
{
|
||||
@@ -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
|
||||
{
|
||||
@@ -15,33 +15,28 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<Alias>
|
||||
implements ActionListener, Listener<AliasEvent>
|
||||
{
|
||||
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<Alias>
|
||||
|
||||
//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<Alias>
|
||||
@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:
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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 )
|
||||
@@ -15,47 +15,47 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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();
|
||||
@@ -16,24 +16,24 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AliasEvent>
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AliasEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
@@ -15,12 +15,11 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<String> 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<String> 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<String> 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());
|
||||
|
||||
@@ -16,14 +16,13 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<Alias>
|
||||
{
|
||||
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<Alias>
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,9 +15,9 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<T> extends JPanel implements DocumentListener
|
||||
@@ -86,7 +86,7 @@ public abstract class ComponentEditor<T> 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<T> 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.
|
||||
@@ -1,4 +1,4 @@
|
||||
package ua.in.smartjava.alias;
|
||||
package io.github.dsheirer.alias;
|
||||
|
||||
public class ComponentValidationException extends Exception
|
||||
{
|
||||
@@ -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<List<Alias>>
|
||||
{
|
||||
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<List<Alias>>
|
||||
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<List<Alias>>
|
||||
|
||||
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<List<Alias>>
|
||||
|
||||
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<List<Alias>>
|
||||
@Override
|
||||
public void receive(AliasEvent event)
|
||||
{
|
||||
if (event.getEvent() == Event.DELETE &&
|
||||
if (event.getEvent() == AliasEvent.Event.DELETE &&
|
||||
hasItem() &&
|
||||
getAliases().contains(event.getAlias()))
|
||||
{
|
||||
@@ -16,17 +16,16 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<String> 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
|
||||
@@ -16,13 +16,13 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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 );
|
||||
}
|
||||
@@ -15,12 +15,21 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<Alias>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,18 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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 );
|
||||
}
|
||||
@@ -16,21 +16,21 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<Message>
|
||||
{
|
||||
@@ -57,8 +57,8 @@ public class AliasActionManager implements Listener<Message>
|
||||
{
|
||||
/* 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);
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.alias.action;
|
||||
package io.github.dsheirer.alias.action;
|
||||
|
||||
public enum AliasActionType
|
||||
{
|
||||
@@ -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("<html><div width='250'>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("]</div></html>");
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
@@ -15,30 +15,22 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasAction>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -47,17 +39,17 @@ public class BeepActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
"<html><h3>Beep Action</h3>"
|
||||
+ "This action will sound a beep according to the interval<br>"
|
||||
+ "that you select:<br><br>"
|
||||
+ "<b>Once:</b> Beep the first time the ua.in.smartjava.alias is active and<br>"
|
||||
+ "<b>Once:</b> Beep the first time the alias is active and<br>"
|
||||
+ "never again<br><br>"
|
||||
+ "<b>Once, Reset After Delay:</b> Beep once and suppress<br>"
|
||||
+ "subsequent beeps for the specified period in seconds.<br>"
|
||||
+ "After the reset period, beep again when the ua.in.smartjava.alias is active.<br><br>"
|
||||
+ "After the reset period, beep again when the alias is active.<br><br>"
|
||||
+ "<b>Until Dismissed:</b> Beep every period seconds until you<br>"
|
||||
+ "click OK on the dialog that appears. Alerting is suppressed<br>"
|
||||
+ "for 15 seconds after you click OK.<br>"
|
||||
+ "</html>";
|
||||
|
||||
private JComboBox<Interval> mComboInterval;
|
||||
private JComboBox<RecurringAction.Interval> mComboInterval;
|
||||
private JSlider mPeriodSlider;
|
||||
private JLabel mPeriodSliderLabel;
|
||||
|
||||
@@ -84,20 +76,20 @@ public class BeepActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
|
||||
add( new JLabel( "Beep Interval:" ) );
|
||||
|
||||
mComboInterval = new JComboBox<Interval>( Interval.values() );
|
||||
mComboInterval = new JComboBox<RecurringAction.Interval>( 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<AliasAction>
|
||||
{
|
||||
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<AliasAction>
|
||||
{
|
||||
BeepAction beep = getBeepAction();
|
||||
|
||||
beep.setInterval( (Interval)mComboInterval.getSelectedItem() );
|
||||
beep.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() );
|
||||
beep.setPeriod( mPeriodSlider.getValue() );
|
||||
}
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,34 +15,23 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasAction>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -50,19 +39,19 @@ public class ClipActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
private static final String PLEASE_SELECT_A_FILE = "Please select a file";
|
||||
private static final String HELP_TEXT =
|
||||
"<html><h3>Clip Action</h3>"
|
||||
+ "This action will play an ua.in.smartjava.audio clip according to the interval<br>"
|
||||
+ "This action will play an audio clip according to the interval<br>"
|
||||
+ "that you select:<br><br>"
|
||||
+ "<b>Once:</b> play the first time the ua.in.smartjava.alias is active and<br>"
|
||||
+ "<b>Once:</b> play the first time the alias is active and<br>"
|
||||
+ "never again<br><br>"
|
||||
+ "<b>Once, Reset After Delay:</b> play once and suppress<br>"
|
||||
+ "subsequent runs for the specified period in seconds.<br>"
|
||||
+ "After the reset period, play again when the ua.in.smartjava.alias is active.<br><br>"
|
||||
+ "After the reset period, play again when the alias is active.<br><br>"
|
||||
+ "<b>Until Dismissed:</b> play every period seconds until you<br>"
|
||||
+ "click OK on the dialog that appears. Alerting is suppressed<br>"
|
||||
+ "for 15 seconds after you click OK.<br>"
|
||||
+ "</html>";
|
||||
|
||||
private JComboBox<Interval> mComboInterval;
|
||||
private JComboBox<RecurringAction.Interval> mComboInterval;
|
||||
private JSlider mPeriodSlider;
|
||||
private JLabel mPeriodSliderLabel;
|
||||
private JTextField mTextFilePath;
|
||||
@@ -90,20 +79,20 @@ public class ClipActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
|
||||
add( new JLabel( "Play Interval:" ) );
|
||||
|
||||
mComboInterval = new JComboBox<Interval>( Interval.values() );
|
||||
mComboInterval = new JComboBox<RecurringAction.Interval>( 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<AliasAction>
|
||||
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<AliasAction>
|
||||
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<AliasAction>
|
||||
{
|
||||
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<AliasAction>
|
||||
{
|
||||
ClipAction script = getClipAction();
|
||||
|
||||
script.setInterval( (Interval)mComboInterval.getSelectedItem() );
|
||||
script.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() );
|
||||
script.setPeriod( mPeriodSlider.getValue() );
|
||||
script.setPath( mTextFilePath.getText() );
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
@@ -15,34 +15,23 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasAction>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -52,17 +41,17 @@ public class ScriptActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
"<html><h3>Script Action</h3>"
|
||||
+ "This action will run a script according to the interval<br>"
|
||||
+ "that you select:<br><br>"
|
||||
+ "<b>Once:</b> run the first time the ua.in.smartjava.alias is active and<br>"
|
||||
+ "<b>Once:</b> run the first time the alias is active and<br>"
|
||||
+ "never again<br><br>"
|
||||
+ "<b>Once, Reset After Delay:</b> run once and suppress<br>"
|
||||
+ "subsequent runs for the specified period in seconds.<br>"
|
||||
+ "After the reset period, run again when the ua.in.smartjava.alias is active.<br><br>"
|
||||
+ "After the reset period, run again when the alias is active.<br><br>"
|
||||
+ "<b>Until Dismissed:</b> run every period seconds until you<br>"
|
||||
+ "click OK on the dialog that appears. Alerting is suppressed<br>"
|
||||
+ "for 15 seconds after you click OK.<br>"
|
||||
+ "</html>";
|
||||
|
||||
private JComboBox<Interval> mComboInterval;
|
||||
private JComboBox<RecurringAction.Interval> mComboInterval;
|
||||
private JSlider mPeriodSlider;
|
||||
private JLabel mPeriodSliderLabel;
|
||||
private JTextField mTextFilePath;
|
||||
@@ -90,20 +79,20 @@ public class ScriptActionEditor extends DocumentListenerEditor<AliasAction>
|
||||
|
||||
add( new JLabel( "Run Interval:" ) );
|
||||
|
||||
mComboInterval = new JComboBox<Interval>( Interval.values() );
|
||||
mComboInterval = new JComboBox<RecurringAction.Interval>( 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<AliasAction>
|
||||
{
|
||||
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<AliasAction>
|
||||
{
|
||||
ScriptAction script = getScriptAction();
|
||||
|
||||
script.setInterval( (Interval)mComboInterval.getSelectedItem() );
|
||||
script.setInterval( (RecurringAction.Interval)mComboInterval.getSelectedItem() );
|
||||
script.setPeriod( mPeriodSlider.getValue() );
|
||||
script.setScript( mTextFilePath.getText() );
|
||||
}
|
||||
@@ -15,27 +15,27 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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,
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.alias.id;
|
||||
package io.github.dsheirer.alias.id;
|
||||
|
||||
public enum AliasIDType
|
||||
{
|
||||
@@ -15,13 +15,21 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<Alias>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -204,7 +192,7 @@ public class AliasIdentifierEditor extends Editor<Alias>
|
||||
|
||||
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<Alias>
|
||||
|
||||
if( hasItem() )
|
||||
{
|
||||
mAliasModel.broadcast( new AliasEvent( getItem(), Event.CHANGE ) );
|
||||
mAliasModel.broadcast( new AliasEvent( getItem(), AliasEvent.Event.CHANGE ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<WildcardID>
|
||||
}
|
||||
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<WildcardID>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
@@ -16,10 +16,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<BroadcastCha
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a named broadcast ua.in.smartjava.channel
|
||||
* Creates a named broadcast channel
|
||||
*/
|
||||
public BroadcastChannel(String channelName)
|
||||
{
|
||||
@@ -81,16 +81,16 @@ public class BroadcastChannel extends AliasID implements Comparable<BroadcastCha
|
||||
}
|
||||
|
||||
/**
|
||||
* Name of the broadcastAudio ua.in.smartjava.channel configuration
|
||||
* Name of the broadcastAudio channel configuration
|
||||
*/
|
||||
@XmlAttribute(name = "ua/in/smartjava/channel")
|
||||
@XmlAttribute(name = "channel")
|
||||
public String getChannelName()
|
||||
{
|
||||
return mChannelName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the broadcastAudio ua.in.smartjava.channel configuration
|
||||
* Sets the name of the broadcastAudio channel configuration
|
||||
*/
|
||||
public void setChannelName(String channel)
|
||||
{
|
||||
@@ -16,13 +16,13 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
|
||||
private static final String HELP_TEXT = "<html>"
|
||||
+ "<h3>Audio Broadcast Channel</h3>"
|
||||
+ "Name of a ua.in.smartjava.audio streaming broadcast configuration<br>"
|
||||
+ "to be used for streaming ua.in.smartjava.audio to an external<br>"
|
||||
+ "Name of a audio streaming broadcast configuration<br>"
|
||||
+ "to be used for streaming audio to an external<br>"
|
||||
+ "streaming server";
|
||||
|
||||
private JComboBox<String> mBroadcastConfigurations;
|
||||
@@ -15,22 +15,17 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,13 +15,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -15,13 +15,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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
|
||||
{
|
||||
@@ -15,27 +15,19 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
@@ -15,18 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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 &&
|
||||
@@ -15,29 +15,22 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,13 +15,14 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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
|
||||
{
|
||||
@@ -15,24 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,24 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,13 +15,14 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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
|
||||
*/
|
||||
@@ -15,13 +15,14 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -15,24 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -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
|
||||
{
|
||||
@@ -15,32 +15,28 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final String HELP_TEXT = "<html>"
|
||||
+ "<h3>Audio Non-Recordable</h3>"
|
||||
+ "This identifies an ua.in.smartjava.alias as non-recordable.<br><br>"
|
||||
+ "The ua.in.smartjava.alias can still be monitored but associated ua.in.smartjava.audio will<br>"
|
||||
+ "This identifies an alias as non-recordable.<br><br>"
|
||||
+ "The alias can still be monitored but associated audio will<br>"
|
||||
+ "not be recorded.<br><br>"
|
||||
+ "The default behavior when ua.in.smartjava.audio recording is enabled for a<br>"
|
||||
+ "ua.in.smartjava.channel is to ua.in.smartjava.record all aliases except any ua.in.smartjava.alias with a<br>"
|
||||
+ "The default behavior when audio recording is enabled for a<br>"
|
||||
+ "channel is to record all aliases except any alias with a<br>"
|
||||
+ "non-recordable identifier";
|
||||
|
||||
public NonRecordableEditor( AliasID aliasID )
|
||||
@@ -15,15 +15,15 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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()
|
||||
{
|
||||
@@ -15,23 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
@@ -42,8 +37,8 @@ public class PriorityEditor extends DocumentListenerEditor<AliasID>
|
||||
private static final String HELP_TEXT = "<html>"
|
||||
+ "<h3>Call Audio Priority</h3>"
|
||||
+ "Priority determines which calls have priority for playback<br>"
|
||||
+ "over your computer speakers, or designates an ua.in.smartjava.alias for<br>"
|
||||
+ "no-monitoring if you don't want to hear calls from an ua.in.smartjava.alias.<br><br>"
|
||||
+ "over your computer speakers, or designates an alias for<br>"
|
||||
+ "no-monitoring if you don't want to hear calls from an alias.<br><br>"
|
||||
+ "Lower values indicate higher priority levels.<br><br>"
|
||||
+ "<b>Do Not Monitor: </b> slide priority all the way to the right"
|
||||
+ "</html>";
|
||||
@@ -15,13 +15,15 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -15,22 +15,17 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,13 +15,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -15,24 +15,18 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -42,7 +36,7 @@ public class StatusIDEditor extends DocumentListenerEditor<AliasID>
|
||||
+ "Status numbers are used in some protocols like Fleetsync.<br><br>"
|
||||
+ "The status number is assigned a meaning in the radio. You<br>"
|
||||
+ "can assign a 3 digit status code (use leading zeros) to an<br>"
|
||||
+ "ua.in.smartjava.alias where the ua.in.smartjava.alias contains the status meaning.<br><br>"
|
||||
+ "alias where the alias contains the status meaning.<br><br>"
|
||||
+ "<b>Status:</b> <u>001</u> engine start"
|
||||
+ "</html>";
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
|
||||
@@ -15,22 +15,17 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -15,13 +15,13 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -15,22 +15,17 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
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<AliasID>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -16,21 +16,21 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<Metadata>
|
||||
{
|
||||
@@ -16,12 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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();
|
||||
@@ -1,4 +1,4 @@
|
||||
package ua.in.smartjava.audio;
|
||||
package io.github.dsheirer.audio;
|
||||
|
||||
public class AudioEvent
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
package ua.in.smartjava.audio;
|
||||
package io.github.dsheirer.audio;
|
||||
|
||||
public class AudioException extends Exception
|
||||
{
|
||||
@@ -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);
|
||||
@@ -16,21 +16,20 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AudioPacket>, 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<AudioPacket> mAudioPacketQueue = new LinkedTransferQueue<>();
|
||||
private Map<Integer,AudioOutputConnection> mChannelConnectionMap = new HashMap<>();
|
||||
@@ -75,8 +74,8 @@ public class AudioManager implements Listener<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioOutput> getAudioOutputs()
|
||||
@@ -339,7 +338,7 @@ public class AudioManager implements Listener<AudioPacket>, 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<AudioEvent> listener)
|
||||
@@ -348,7 +347,7 @@ public class AudioManager implements Listener<AudioPacket>, 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<AudioEvent> listener)
|
||||
@@ -357,11 +356,11 @@ public class AudioManager implements Listener<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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<AudioPacket>, 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()
|
||||
{
|
||||
@@ -16,30 +16,30 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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
|
||||
@@ -16,10 +16,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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
|
||||
{
|
||||
@@ -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<AudioPacket>
|
||||
{
|
||||
private final static Logger mLog =
|
||||
@@ -16,17 +16,17 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AudioEvent>
|
||||
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<AudioEvent>
|
||||
}
|
||||
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<AudioEvent>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
{
|
||||
@@ -16,13 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AudioPacket> audioPackets)
|
||||
{
|
||||
@@ -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
|
||||
{
|
||||
@@ -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
|
||||
{
|
||||
@@ -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
|
||||
{
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio;
|
||||
package io.github.dsheirer.audio;
|
||||
|
||||
/**
|
||||
* Standard voice inversion foldover frequencies
|
||||
@@ -16,14 +16,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AudioRecording>
|
||||
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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
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<AudioRecording>
|
||||
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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
|
||||
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<AudioRecording>
|
||||
}
|
||||
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<AudioRecording>
|
||||
}
|
||||
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<AudioRecording>
|
||||
}
|
||||
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;
|
||||
@@ -16,9 +16,9 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<AudioRecording>
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* 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<AudioRecording>
|
||||
}
|
||||
|
||||
/**
|
||||
* Optional ua.in.smartjava.audio metadata for the recording.
|
||||
* Optional audio metadata for the recording.
|
||||
*/
|
||||
public Metadata getMetadata()
|
||||
{
|
||||
@@ -16,13 +16,13 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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)
|
||||
@@ -16,11 +16,11 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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
|
||||
*/
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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()
|
||||
{
|
||||
@@ -16,34 +16,34 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,11 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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;
|
||||
@@ -16,18 +16,18 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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<Audio
|
||||
SystemProperties.getInstance().getApplicationFolder(TEMPORARY_STREAM_DIRECTORY));
|
||||
mStreamManager.start();
|
||||
|
||||
//Monitor to remove temporary recording files that have been streamed by all ua.in.smartjava.audio broadcasters
|
||||
//Monitor to remove temporary recording files that have been streamed by all audio broadcasters
|
||||
ThreadPool.SCHEDULED.scheduleAtFixedRate(new RecordingDeletionMonitor(),
|
||||
15l, 15l, TimeUnit.SECONDS);
|
||||
|
||||
@@ -459,11 +459,11 @@ public class BroadcastModel extends AbstractTableModel implements Listener<Audio
|
||||
}
|
||||
|
||||
/**
|
||||
* When the name of a broadcast configuration changes, remove the old ua.in.smartjava.map associations so that they can be replaced
|
||||
* with the new ua.in.smartjava.map associations. Remove any broadcaster that is associated with the old configuration name.
|
||||
* When the name of a broadcast configuration changes, remove the old map associations so that they can be replaced
|
||||
* with the new map associations. Remove any broadcaster that is associated with the old configuration name.
|
||||
*
|
||||
* @param broadcastConfiguration
|
||||
* @return previous or current ua.in.smartjava.channel name that has been replaced with the current configuration ua.in.smartjava.channel name so
|
||||
* @return previous or current channel name that has been replaced with the current configuration channel name so
|
||||
* that anything else associated with the previous name can be cleaned up.
|
||||
*/
|
||||
private String cleanupMapAssociations(BroadcastConfiguration broadcastConfiguration)
|
||||
@@ -695,8 +695,8 @@ public class BroadcastModel extends AbstractTableModel implements Listener<Audio
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes completed ua.in.smartjava.audio recordings and distributes them to the ua.in.smartjava.audio broadcasters. Adds the recording to
|
||||
* the ua.in.smartjava.audio recording queue to be monitored for deletion.
|
||||
* Processes completed audio recordings and distributes them to the audio broadcasters. Adds the recording to
|
||||
* the audio recording queue to be monitored for deletion.
|
||||
*/
|
||||
public class CompletedRecordingListener implements Listener<AudioRecording>
|
||||
{
|
||||
@@ -729,7 +729,7 @@ public class BroadcastModel extends AbstractTableModel implements Listener<Audio
|
||||
}
|
||||
|
||||
/**
|
||||
* Monitors the recording queue and removes any recordings that have no pending replays by ua.in.smartjava.audio broadcasters
|
||||
* Monitors the recording queue and removes any recordings that have no pending replays by audio broadcasters
|
||||
*/
|
||||
public class RecordingDeletionMonitor implements Runnable
|
||||
{
|
||||
@@ -765,7 +765,7 @@ public class BroadcastModel extends AbstractTableModel implements Listener<Audio
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
mLog.error("Error while checking ua.in.smartjava.audio recording queue for recordings to delete", e);
|
||||
mLog.error("Error while checking audio recording queue for recordings to delete", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,21 +16,20 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast;
|
||||
package io.github.dsheirer.audio.broadcast;
|
||||
|
||||
import ua.in.smartjava.alias.AliasModel;
|
||||
import com.jidesoft.swing.JideSplitPane;
|
||||
import ua.in.smartjava.gui.editor.Editor;
|
||||
import ua.in.smartjava.gui.editor.EmptyEditor;
|
||||
import ua.in.smartjava.icon.IconManager;
|
||||
import io.github.dsheirer.gui.editor.Editor;
|
||||
import io.github.dsheirer.gui.editor.EmptyEditor;
|
||||
import io.github.dsheirer.icon.IconManager;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import io.github.dsheirer.alias.AliasModel;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
@@ -80,7 +79,7 @@ public class BroadcastPanel extends JPanel implements ActionListener, ListSelect
|
||||
buttonsPanel.setLayout(new MigLayout("insets 0 0 0 0", "[grow,fill][grow,fill][grow,fill]", "[]"));
|
||||
|
||||
mNewButton = new JButton("New ...");
|
||||
mNewButton.setToolTipText("Create a new broadcast ua.in.smartjava.audio configuration");
|
||||
mNewButton.setToolTipText("Create a new broadcast audio configuration");
|
||||
mNewButton.addMouseListener(new MouseAdapter()
|
||||
{
|
||||
@Override
|
||||
@@ -232,7 +231,7 @@ public class BroadcastPanel extends JPanel implements ActionListener, ListSelect
|
||||
|
||||
mBroadcastServerType = type;
|
||||
|
||||
setToolTipText("Add a new " + type.toString() + " ua.in.smartjava.audio stream configuration");
|
||||
setToolTipText("Add a new " + type.toString() + " audio stream configuration");
|
||||
|
||||
addActionListener(new ActionListener()
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast;
|
||||
package io.github.dsheirer.audio.broadcast;
|
||||
|
||||
public enum BroadcastServerType
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast;
|
||||
package io.github.dsheirer.audio.broadcast;
|
||||
|
||||
public enum BroadcastState
|
||||
{
|
||||
@@ -86,7 +86,7 @@ public enum BroadcastState
|
||||
TEMPORARY_BROADCAST_ERROR("Temporary Broadcast Error", false),
|
||||
|
||||
/**
|
||||
* Unsupported ua.in.smartjava.audio format
|
||||
* Unsupported audio format
|
||||
*/
|
||||
UNSUPPORTED_AUDIO_FORMAT("Unsupported Audio Type", true),
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast;
|
||||
package io.github.dsheirer.audio.broadcast;
|
||||
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
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;
|
||||
|
||||
public interface IBroadcastMetadataUpdater
|
||||
{
|
||||
/**
|
||||
* Updates broadcast ua.in.smartjava.audio metadata
|
||||
* Updates broadcast audio metadata
|
||||
*
|
||||
* @param metadata containing metadata attributes
|
||||
*/
|
||||
@@ -16,15 +16,15 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast;
|
||||
package io.github.dsheirer.audio.broadcast;
|
||||
|
||||
import ua.in.smartjava.audio.AudioPacket;
|
||||
import io.github.dsheirer.audio.AudioPacket;
|
||||
import io.github.dsheirer.record.AudioRecorder;
|
||||
import io.github.dsheirer.sample.Listener;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import io.github.dsheirer.util.TimeStamp;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ua.in.smartjava.record.AudioRecorder;
|
||||
import ua.in.smartjava.sample.Listener;
|
||||
import ua.in.smartjava.util.ThreadPool;
|
||||
import ua.in.smartjava.util.TimeStamp;
|
||||
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
@@ -53,15 +53,15 @@ public class StreamManager implements Listener<AudioPacket>
|
||||
private AtomicBoolean mRunning = new AtomicBoolean();
|
||||
|
||||
/**
|
||||
* Stream manager processes all incoming ua.in.smartjava.audio packets and reassembles individual ua.in.smartjava.audio streams, converts ua.in.smartjava.audio
|
||||
* Stream manager processes all incoming audio packets and reassembles individual audio streams, converts audio
|
||||
* to desired output format and persists each stream to disc. Each recording is capped at a maximum length to
|
||||
* ensure that recordings don't run too long before they are streamed out and to ensure that inactive recordings
|
||||
* are closed in a timely fashion.
|
||||
*
|
||||
* Completed streamable ua.in.smartjava.audio recordings are nominated to the output listener (for broadcast) upon completion
|
||||
* Completed streamable audio recordings are nominated to the output listener (for broadcast) upon completion
|
||||
*
|
||||
* @param listener to receive completed ua.in.smartjava.audio recordings
|
||||
* @param tempDirectory where to store temporary ua.in.smartjava.audio recordings
|
||||
* @param listener to receive completed audio recordings
|
||||
* @param tempDirectory where to store temporary audio recordings
|
||||
*/
|
||||
public StreamManager(Listener<AudioRecording> listener, BroadcastFormat broadcastFormat, Path tempDirectory)
|
||||
{
|
||||
@@ -158,10 +158,10 @@ public class StreamManager implements Listener<AudioPacket>
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the recorder associated with the ua.in.smartjava.source ua.in.smartjava.channel ID.
|
||||
* Removes the recorder associated with the source channel ID.
|
||||
*
|
||||
* Note: this method invocation is not thread safe and must be invoked by a thread safe mechanism that protects the
|
||||
* mStreamRecorders ua.in.smartjava.map.
|
||||
* mStreamRecorders map.
|
||||
*
|
||||
* @param sourceChannelID identifying the recorder
|
||||
*/
|
||||
@@ -16,12 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.broadcastify;
|
||||
package io.github.dsheirer.audio.broadcast.broadcastify;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastFormat;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import ua.in.smartjava.audio.broadcast.icecast.IcecastTCPConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastFormat;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
import io.github.dsheirer.audio.broadcast.icecast.IcecastTCPConfiguration;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class BroadcastifyConfiguration extends IcecastTCPConfiguration
|
||||
/**
|
||||
* Broadcastify configuration for Icecast 2.3.2 compatible servers
|
||||
*
|
||||
* @param format of output ua.in.smartjava.audio (MP3)
|
||||
* @param format of output audio (MP3)
|
||||
*/
|
||||
public BroadcastifyConfiguration(BroadcastFormat format)
|
||||
{
|
||||
@@ -16,20 +16,20 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.broadcastify;
|
||||
package io.github.dsheirer.audio.broadcast.broadcastify;
|
||||
|
||||
import ua.in.smartjava.alias.AliasModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastEvent;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import com.radioreference.api.soap2.UserFeedBroadcast;
|
||||
import ua.in.smartjava.icon.IconManager;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastEvent;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastModel;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
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.AliasModel;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
@@ -16,14 +16,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.broadcastify;
|
||||
package io.github.dsheirer.audio.broadcast.broadcastify;
|
||||
|
||||
import com.radioreference.api.soap2.UserFeedBroadcast;
|
||||
import ua.in.smartjava.radioreference.RadioReferenceService;
|
||||
import io.github.dsheirer.radioreference.RadioReferenceService;
|
||||
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 javax.swing.*;
|
||||
import javax.swing.event.DocumentEvent;
|
||||
@@ -16,11 +16,11 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.AudioBroadcaster;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
import io.github.dsheirer.audio.broadcast.AudioBroadcaster;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
|
||||
public abstract class IcecastAudioBroadcaster extends AudioBroadcaster
|
||||
{
|
||||
@@ -16,10 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
import ua.in.smartjava.channel.metadata.Metadata;
|
||||
import io.github.dsheirer.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
import io.github.dsheirer.channel.metadata.Metadata;
|
||||
import io.github.dsheirer.properties.SystemProperties;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import org.apache.mina.core.future.ConnectFuture;
|
||||
import org.apache.mina.core.service.IoHandlerAdapter;
|
||||
import org.apache.mina.core.session.IoSession;
|
||||
@@ -31,8 +33,6 @@ import org.apache.mina.http.api.HttpVersion;
|
||||
import org.apache.mina.transport.socket.nio.NioSocketConnector;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ua.in.smartjava.properties.SystemProperties;
|
||||
import ua.in.smartjava.util.ThreadPool;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.ConnectException;
|
||||
@@ -16,10 +16,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastFormat;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastFormat;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlTransient;
|
||||
@@ -27,7 +27,7 @@ import java.util.Base64;
|
||||
|
||||
public abstract class IcecastConfiguration extends BroadcastConfiguration
|
||||
{
|
||||
protected String mUserName = "ua/in/smartjava/source";
|
||||
protected String mUserName = "source";
|
||||
private String mMountPoint = "/stream";
|
||||
private String mDescription;
|
||||
private String mGenre;
|
||||
@@ -176,7 +176,7 @@ public abstract class IcecastConfiguration extends BroadcastConfiguration
|
||||
}
|
||||
|
||||
/**
|
||||
* Number of ua.in.smartjava.audio channels in the broadcastAudio
|
||||
* Number of audio channels in the broadcastAudio
|
||||
*/
|
||||
@XmlAttribute( name="channels" )
|
||||
public int getChannels()
|
||||
@@ -185,7 +185,7 @@ public abstract class IcecastConfiguration extends BroadcastConfiguration
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the number of ua.in.smartjava.audio channels in the broadcastAudio
|
||||
* Sets the number of audio channels in the broadcastAudio
|
||||
*/
|
||||
public void setChannels(int channels)
|
||||
{
|
||||
@@ -198,7 +198,7 @@ public abstract class IcecastConfiguration extends BroadcastConfiguration
|
||||
}
|
||||
|
||||
/**
|
||||
* Bit rate in ua.in.smartjava.bits per second
|
||||
* Bit rate in bits per second
|
||||
*/
|
||||
@XmlAttribute( name="bitrate" )
|
||||
public int getBitRate()
|
||||
@@ -16,10 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastState;
|
||||
import ua.in.smartjava.audio.convert.MP3AudioConverter;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastState;
|
||||
import io.github.dsheirer.audio.convert.MP3AudioConverter;
|
||||
import io.github.dsheirer.properties.SystemProperties;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import org.apache.mina.core.RuntimeIoException;
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
import org.apache.mina.core.future.ConnectFuture;
|
||||
@@ -36,8 +38,6 @@ import org.apache.mina.http.api.HttpVersion;
|
||||
import org.apache.mina.transport.socket.nio.NioSocketConnector;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ua.in.smartjava.properties.SystemProperties;
|
||||
import ua.in.smartjava.util.ThreadPool;
|
||||
|
||||
import java.net.ConnectException;
|
||||
import java.net.InetSocketAddress;
|
||||
@@ -75,7 +75,7 @@ public class IcecastHTTPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts the ua.in.smartjava.audio frame or sequence
|
||||
* Broadcasts the audio frame or sequence
|
||||
*/
|
||||
@Override
|
||||
protected void broadcastAudio(byte[] audio)
|
||||
@@ -96,7 +96,7 @@ public class IcecastHTTPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
*
|
||||
* Attempts to connect via this method when the broadcast state indicates an error condition will be ignored.
|
||||
*
|
||||
* @return true if the ua.in.smartjava.audio handler can stream ua.in.smartjava.audio
|
||||
* @return true if the audio handler can stream audio
|
||||
*/
|
||||
private boolean connect()
|
||||
{
|
||||
@@ -322,7 +322,7 @@ public class IcecastHTTPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
}
|
||||
else
|
||||
{
|
||||
mLog.error("Icecast HTTP broadcaster - unrecognized ua.in.smartjava.message [ " + object.getClass() +
|
||||
mLog.error("Icecast HTTP broadcaster - unrecognized message [ " + object.getClass() +
|
||||
"] received:" + object.toString());
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,11 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastFormat;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastFormat;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
|
||||
public class IcecastHTTPConfiguration extends IcecastConfiguration
|
||||
{
|
||||
@@ -16,18 +16,18 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.alias.AliasModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastEvent;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import ua.in.smartjava.icon.IconManager;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastEvent;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastModel;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
import io.github.dsheirer.icon.IconManager;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import io.github.dsheirer.alias.AliasModel;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
@@ -105,7 +105,7 @@ public class IcecastHTTPConfigurationEditor extends BroadcastConfigurationEditor
|
||||
add(new JLabel("User Name:"));
|
||||
mUsername = new JTextField();
|
||||
mUsername.getDocument().addDocumentListener(this);
|
||||
mUsername.setToolTipText("User name for the stream. Default: ua.in.smartjava.source");
|
||||
mUsername.setToolTipText("User name for the stream. Default: source");
|
||||
add(mUsername);
|
||||
|
||||
add(new JLabel("Password:"));
|
||||
@@ -16,12 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
public enum IcecastHeader
|
||||
{
|
||||
ACCEPT("Accept"),
|
||||
AUDIO_INFO("ice-ua.in.smartjava.audio-info"),
|
||||
AUDIO_INFO("ice-audio-info"),
|
||||
AUTHORIZATION("Authorization"),
|
||||
BITRATE("ice-bitrate"),
|
||||
CONTENT_TYPE("Content-Type"),
|
||||
@@ -16,11 +16,13 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastState;
|
||||
import ua.in.smartjava.audio.broadcast.icecast.codec.IcecastCodecFactory;
|
||||
import ua.in.smartjava.audio.convert.MP3AudioConverter;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastState;
|
||||
import io.github.dsheirer.audio.broadcast.icecast.codec.IcecastCodecFactory;
|
||||
import io.github.dsheirer.audio.convert.MP3AudioConverter;
|
||||
import io.github.dsheirer.properties.SystemProperties;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import org.apache.mina.core.RuntimeIoException;
|
||||
import org.apache.mina.core.future.ConnectFuture;
|
||||
import org.apache.mina.core.service.IoHandlerAdapter;
|
||||
@@ -30,8 +32,6 @@ import org.apache.mina.filter.codec.ProtocolCodecFilter;
|
||||
import org.apache.mina.transport.socket.nio.NioSocketConnector;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ua.in.smartjava.properties.SystemProperties;
|
||||
import ua.in.smartjava.util.ThreadPool;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.ConnectException;
|
||||
@@ -71,7 +71,7 @@ public class IcecastTCPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts the ua.in.smartjava.audio frame or sequence
|
||||
* Broadcasts the audio frame or sequence
|
||||
*/
|
||||
@Override
|
||||
protected void broadcastAudio(byte[] audio)
|
||||
@@ -88,7 +88,7 @@ public class IcecastTCPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
*
|
||||
* Attempts to connect via this method when the broadcast state indicates an error condition will be ignored.
|
||||
*
|
||||
* @return true if the ua.in.smartjava.audio handler can stream ua.in.smartjava.audio
|
||||
* @return true if the audio handler can stream audio
|
||||
*/
|
||||
private boolean connect()
|
||||
{
|
||||
@@ -347,7 +347,7 @@ public class IcecastTCPAudioBroadcaster extends IcecastAudioBroadcaster
|
||||
}
|
||||
else
|
||||
{
|
||||
mLog.error("[" + getStreamName() + "]Icecast TCP broadcaster - unrecognized ua.in.smartjava.message [ " + object.getClass() +
|
||||
mLog.error("[" + getStreamName() + "]Icecast TCP broadcaster - unrecognized message [ " + object.getClass() +
|
||||
"] received:" + object.toString());
|
||||
}
|
||||
}
|
||||
@@ -16,12 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastFormat;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import ua.in.smartjava.audio.broadcast.broadcastify.BroadcastifyConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastFormat;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
import io.github.dsheirer.audio.broadcast.broadcastify.BroadcastifyConfiguration;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -39,7 +39,7 @@ public class IcecastTCPConfiguration extends IcecastConfiguration
|
||||
|
||||
/**
|
||||
* Icecast 2.3.x and 2.4.x compatible configuration
|
||||
* @param format of ua.in.smartjava.audio
|
||||
* @param format of audio
|
||||
*/
|
||||
public IcecastTCPConfiguration(BroadcastFormat format)
|
||||
{
|
||||
@@ -16,18 +16,18 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast;
|
||||
package io.github.dsheirer.audio.broadcast.icecast;
|
||||
|
||||
import ua.in.smartjava.alias.AliasModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfiguration;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastEvent;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastModel;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastServerType;
|
||||
import ua.in.smartjava.icon.IconManager;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfiguration;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastConfigurationEditor;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastEvent;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastModel;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastServerType;
|
||||
import io.github.dsheirer.icon.IconManager;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import io.github.dsheirer.alias.AliasModel;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast.codec;
|
||||
package io.github.dsheirer.audio.broadcast.icecast.codec;
|
||||
|
||||
import org.apache.mina.core.session.IoSession;
|
||||
import org.apache.mina.filter.codec.ProtocolCodecFactory;
|
||||
@@ -33,7 +33,7 @@ public class IcecastCodecFactory implements ProtocolCodecFactory
|
||||
private ProtocolDecoder mProtocolDecoder;
|
||||
|
||||
/**
|
||||
* Factory for codecs to process Icecast string protocol and byte array ua.in.smartjava.audio frames for use with Apache Mina
|
||||
* Factory for codecs to process Icecast string protocol and byte array audio frames for use with Apache Mina
|
||||
*/
|
||||
public IcecastCodecFactory()
|
||||
{
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.icecast.codec;
|
||||
package io.github.dsheirer.audio.broadcast.icecast.codec;
|
||||
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
import org.apache.mina.core.session.AttributeKey;
|
||||
@@ -38,7 +38,7 @@ public class IcecastEncoder extends ProtocolEncoderAdapter
|
||||
|
||||
/**
|
||||
* Icecast Protocol Encoder is an Apache Mina compliant protocol encoder that supports Icecast string-based
|
||||
* connection negotiation as well as byte array ua.in.smartjava.audio frame data.
|
||||
* connection negotiation as well as byte array audio frame data.
|
||||
*/
|
||||
public IcecastEncoder()
|
||||
{
|
||||
@@ -16,9 +16,9 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.shoutcast.v1;
|
||||
package io.github.dsheirer.audio.broadcast.shoutcast.v1;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastFormat;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastFormat;
|
||||
|
||||
public enum ShoutcastMetadata
|
||||
{
|
||||
@@ -28,7 +28,7 @@ public enum ShoutcastMetadata
|
||||
CONTENT_TYPE("Content-Type:"),
|
||||
DESCRIPTION("icy-description:"),
|
||||
GENRE("icy-genre:"),
|
||||
ICE_AUDIO_INFO("ice-ua.in.smartjava.audio-info:"),
|
||||
ICE_AUDIO_INFO("ice-audio-info:"),
|
||||
ICQ("icy-icq:"),
|
||||
INTERNET_RELAY_CHAT("icy-irc:"),
|
||||
METADATA_INTERVAL("icy-metaint:"),
|
||||
@@ -16,11 +16,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
******************************************************************************/
|
||||
package ua.in.smartjava.audio.broadcast.shoutcast.v1;
|
||||
package io.github.dsheirer.audio.broadcast.shoutcast.v1;
|
||||
|
||||
import ua.in.smartjava.audio.broadcast.AudioBroadcaster;
|
||||
import ua.in.smartjava.audio.broadcast.BroadcastState;
|
||||
import ua.in.smartjava.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
import io.github.dsheirer.audio.broadcast.AudioBroadcaster;
|
||||
import io.github.dsheirer.audio.broadcast.BroadcastState;
|
||||
import io.github.dsheirer.audio.broadcast.IBroadcastMetadataUpdater;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import org.apache.mina.core.RuntimeIoException;
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
import org.apache.mina.core.future.ConnectFuture;
|
||||
@@ -31,7 +32,6 @@ import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
|
||||
import org.apache.mina.transport.socket.nio.NioSocketConnector;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ua.in.smartjava.util.ThreadPool;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.ConnectException;
|
||||
@@ -86,7 +86,7 @@ public class ShoutcastV1AudioBroadcaster extends AudioBroadcaster
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts the ua.in.smartjava.audio frame or sequence
|
||||
* Broadcasts the audio frame or sequence
|
||||
*/
|
||||
@Override
|
||||
protected void broadcastAudio(byte[] audio)
|
||||
@@ -106,7 +106,7 @@ public class ShoutcastV1AudioBroadcaster extends AudioBroadcaster
|
||||
*
|
||||
* Attempts to connect via this method when the broadcast state indicates an error condition will be ignored.
|
||||
*
|
||||
* @return true if the ua.in.smartjava.audio handler can stream ua.in.smartjava.audio
|
||||
* @return true if the audio handler can stream audio
|
||||
*/
|
||||
private boolean connect()
|
||||
{
|
||||
@@ -316,7 +316,7 @@ public class ShoutcastV1AudioBroadcaster extends AudioBroadcaster
|
||||
}
|
||||
else
|
||||
{
|
||||
mLog.error("Icecast TCP broadcaster - unrecognized ua.in.smartjava.message [ " + object.getClass() +
|
||||
mLog.error("Icecast TCP broadcaster - unrecognized message [ " + object.getClass() +
|
||||
"] received:" + object.toString());
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user