View Javadoc

1   package net.sf.jack4j;
2   
3   /*
4   Copyright (C) 2008 Ondrej Par
5   
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU Lesser General Public License as published by
8   the Free Software Foundation; either version 2.1 of the License, or
9   (at your option) any later version.
10  
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU Lesser General Public License for more details.
15  
16  You should have received a copy of the GNU Lesser General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  
20  */
21  
22  /**
23   * Convenient implementation of {@link JackTransportClient} that correctly
24   * defines all callbacks.
25   * 
26   * <p>
27   * Inherited classes still have to call
28   * {@link JackClient#setDefaultThreadInitCallback()} and other necessary
29   * <code>setDefaultXXXCallback</code> methods to ensure that the callbacks are
30   * actually called.
31   * 
32   * @author repa
33   */
34  public abstract class AbstractJackTransportClient extends JackTransportClient {
35  
36  	/**
37  	 * Simply calls inherited constructor.
38  	 * 
39  	 * @see JackClient#JackClient(String, boolean, boolean, String)
40  	 */
41  	public AbstractJackTransportClient(String clientName, boolean useExactName, boolean canStartServer,
42  	        String serverName) throws JackException {
43  		super(clientName, useExactName, canStartServer, serverName);
44  	}
45  
46  	/**
47  	 * Always returns true.
48  	 */
49  	@Override
50  	public boolean syncCallback(JackTransportState state, TransportPosition position) {
51  		return true;
52  	}
53  
54  	/**
55  	 * Does nothing.
56  	 */
57  	@Override
58  	public void timebaseCallback(JackTransportState state, int nframes, TransportPosition pos, boolean newPos) {
59  		// noop
60  	}
61  
62  	/**
63  	 * This implementation only returns 0.
64  	 * 
65  	 * @see net.sf.jack4j.JackClient#bufferSizeCallback(int)
66  	 */
67  	@Override
68  	public int bufferSizeCallback(int newBufferSize) throws Exception {
69  		return 0;
70  	}
71  
72  	/**
73  	 * This implementation does nothing.
74  	 * 
75  	 * @see net.sf.jack4j.JackClient#clientRegistrationCallback(java.lang.String,
76  	 *      boolean)
77  	 */
78  	@Override
79  	public void clientRegistrationCallback(String clientName, boolean registered) throws Exception {
80  		// noop
81  	}
82  
83  	/**
84  	 * This implementation does nothing.
85  	 * 
86  	 * @see net.sf.jack4j.JackClient#freewheelCallback(boolean)
87  	 */
88  	@Override
89  	public void freewheelCallback(boolean onoff) throws Exception {
90  		// noop
91  	}
92  
93  	/**
94  	 * This implementation only returns 0.
95  	 * 
96  	 * @see net.sf.jack4j.JackClient#graphOrderCallback()
97  	 */
98  	@Override
99  	public int graphOrderCallback() throws Exception {
100 		return 0;
101 	}
102 
103 	/**
104 	 * This implementation does nothing.
105 	 * 
106 	 * @see net.sf.jack4j.JackClient#portConnectCallback(long, long, boolean)
107 	 */
108 	@Override
109 	public void portConnectCallback(long portAId, long portBId, boolean connected) throws Exception {
110 		// noop
111 	}
112 
113 	/**
114 	 * This implementation does nothing.
115 	 * 
116 	 * @see net.sf.jack4j.JackClient#portRegistrationCallback(long, boolean)
117 	 */
118 	@Override
119 	public void portRegistrationCallback(long portId, boolean registered) throws Exception {
120 		// noop
121 	}
122 
123 	/**
124 	 * This implementation only returns 0.
125 	 * 
126 	 * @see net.sf.jack4j.JackClient#process(int)
127 	 */
128 	@Override
129 	public int process(int bufferSize) throws Exception {
130 		return 0;
131 	}
132 
133 	/**
134 	 * This implementation only returns 0.
135 	 * 
136 	 * @see net.sf.jack4j.JackClient#sampleRateCallback(int)
137 	 */
138 	@Override
139 	public int sampleRateCallback(int newSampleRate) throws Exception {
140 		return 0;
141 	}
142 
143 	/**
144 	 * This implementation does nothing.
145 	 * 
146 	 * @see net.sf.jack4j.JackClient#threadInitCallback()
147 	 */
148 	@Override
149 	public void threadInitCallback() throws Exception {
150 		// noop
151 	}
152 
153 	/**
154 	 * This implementation only returns 0.
155 	 * 
156 	 * @see net.sf.jack4j.JackClient#xRunCallback()
157 	 */
158 	@Override
159 	public int xRunCallback() throws Exception {
160 		return 0;
161 	}
162 
163 }