smilint output for ./AUDIO-PLAYBACK-CONTROL-MIB
Message Severities |
Severity | Count |
error | 1 |
minor error | 1 |
warning | 1 |
Message Types |
Type | Count |
import-failed (error) | 1 |
revision-missing (minor error) | 1 |
sequence-order (warning) | 1 |
Messages:
AUDIO-PLAYBACK-CONTROL-MIB
1: -- extracted from draft-blevin-snmp-audio-jukebox-00.txt
2: -- at Thu Apr 4 06:13:38 2002
3:
4: AUDIO-PLAYBACK-CONTROL-MIB DEFINITIONS ::= BEGIN
5:
6: IMPORTS
7: OBJECT-TYPE, MODULE-IDENTITY, enterprises,
8: Unsigned32, Integer32, BITS FROM SNMPv2-SMI
8: error -
identifier `BITS' cannot be imported from module `SNMPv2-SMI'
9: RowStatus, DisplayString, DateAndTime FROM SNMPv2-TC
10: MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
11:
12: -- gratefulNet OBJECT IDENTIFIER ::= { enterprises 4648 }
13:
14: audioPlaybackMIB MODULE-IDENTITY
15: LAST-UPDATED "200204010000Z" -- April 1, 2002
16: ORGANIZATION "The Grateful Net"
17: CONTACT-INFO "Bryan Levin
18: E-mail: snmp1@grateful.net"
19:
20: DESCRIPTION
21: "The MIB module is for defining remote audio playback (mp3,
22: etc) from an SNMP-enabled audio jukebox device."
23: ::= { enterprises gratefulNet(4648) 128 }
23: minor error -
revision for last update is missing
24:
25: -- playback capabilities (read-only)
26: auPlaybackCapabilities OBJECT IDENTIFIER ::= { audioPlaybackMIB 1 }
27:
28:
29: -- global control variables (read-write)
30: auPlaybackScalars OBJECT IDENTIFIER ::= { audioPlaybackMIB 2 }
31:
32:
33: -- all tables (read-only and read-create)
34: auPlaybackTables OBJECT IDENTIFIER ::= { audioPlaybackMIB 3 }
35:
36:
37:
38:
39: -- Agent Capabilities (read-only scalars)
40: -- These are useful in determining the abilities of the audio
41: -- jukebox's remote management interface.
42:
43: auHwCapabilities OBJECT-TYPE
44: SYNTAX BITS {
45: volume(0),
46: bass(1),
47: treble(2),
48: balance(3)
49: }
50: MAX-ACCESS read-only
51: STATUS current
52: DESCRIPTION
53: "The hardware capabilities, expressed as a bitstring. It is
54: advisable that the NMS check this variable before blindly
55: setting values to the auHwCtl scalars, as not all may be
56: fully implemented at the playback/jukebox device."
57: ::= { auPlaybackCapabilities 1 }
58:
59:
60:
61: --
62: -- Global Control Scalars (read-write)
63: -- These are useful in controlling the final output signal
64: -- characteristics, whether the output is in digital or analog
65: -- form.
66:
67: auHwCtlVolume OBJECT-TYPE
68: SYNTAX Unsigned32 (0..100)
69: MAX-ACCESS read-write
70: STATUS current
71: DESCRIPTION
72: "The playback volume, measured in percent of fullscale.
73: Setting to 100 will cause the output stage to run at full
74: gain level. Setting to zero will fully mute the output
75: stage (no sound output at all)."
76: ::= { auPlaybackScalars 1 }
77:
78: auHwCtlBass OBJECT-TYPE
79: SYNTAX Integer32 (-100..100)
80: MAX-ACCESS read-write
81: STATUS current
82: DESCRIPTION
83: "The playback Bass, measured in percent of fullscale.
84: Setting negative values attenuates the tone (negative gain)
85: while setting positive values increases the tone (positive
86: gain). The value of zero yields 'flat' or no tonal
87: correction."
88: ::= { auPlaybackScalars 2 }
89:
90: auHwCtlTreble OBJECT-TYPE
91: SYNTAX Integer32 (-100..100)
92: MAX-ACCESS read-write
93: STATUS current
94: DESCRIPTION
95: "The playback Treble, measured in percent of fullscale.
96: Setting negative values attenuates the tone (negative gain)
97: while setting positive values increases the tone (positive
98: gain). The value of zero yields 'flat' or no tonal
99: correction."
100: ::= { auPlaybackScalars 3 }
101:
102: auHwCtlBalance OBJECT-TYPE
103: SYNTAX Integer32 (-100..100)
104: MAX-ACCESS read-write
105: STATUS current
106: DESCRIPTION
107: "The playback left/right balance, measured in percent of
108: fullscale. Setting negative values attenuates the right
109: channel while at the same time increasing gain on the left
110: channel. Setting the value to -100 or +100 will cause
111: one channel to play at full volume and the other channel
112: be set to full attenuation (ie, no volume). Setting the
113: value of zero yields 'center' balance, or both channels
114: driven to equal output levels."
115: ::= { auPlaybackScalars 4 }
116:
117:
118:
119: -- Available (Stored) Music Database Table
120: -- This table is maintained locally as a direct result of the local
121: -- database maintainer adding, removing or changing songs in
122: -- his/her music catalog. SNMP Access to this table is entirely
123: -- read-only.
124:
125: auDbTable OBJECT-TYPE
126: SYNTAX SEQUENCE OF AuDbEntry
127: MAX-ACCESS not-accessible
128: STATUS current
129: DESCRIPTION
130: "This table lists all available audio files that are
131: candidates for playback via remote SNMP control."
132: ::= { auPlaybackTables 1 }
133:
134: auDbEntry OBJECT-TYPE
135: SYNTAX AuDbEntry
136: MAX-ACCESS not-accessible
137: STATUS current
138: DESCRIPTION
139: "The music database table entry."
140: INDEX { auDbIndex }
141: ::= { auDbTable 1 }
142:
143: AuDbEntry ::= SEQUENCE {
143: warning -
warning: SEQUENCE element #9 `auDbSongEncBitRate' does not match order of columnar objects under `auDbEntry'
144: auDbIndex Unsigned32,
145: auDbArtistName DisplayString,
146: auDbAlbumId DisplayString,
147: auDbAlbumTitle DisplayString,
148: auDbSongTitle DisplayString,
149: auDbAlbumSongNumber Unsigned32,
150: auDbGenre DisplayString,
151: auDbYear DateAndTime,
152: auDbSongEncBitRate Unsigned32,
153: auDbSongEncoding INTEGER,
154: auDbSongPlayLength Unsigned32
155: }
156:
157: auDbIndex OBJECT-TYPE
158: SYNTAX Unsigned32 (1..4294967295)
159: MAX-ACCESS not-accessible
160: STATUS current
161: DESCRIPTION
162: "An integer to uniquely identify the song entry that is to
163: be transferred to the active play list queue (auReqTable)."
164: ::= { auDbEntry 1 }
165:
166: auDbArtistName OBJECT-TYPE
167: SYNTAX DisplayString
168: MAX-ACCESS read-only
169: STATUS current
170: DESCRIPTION
171: "The artist name, in ASCII."
172: ::= { auDbEntry 2 }
173:
174: auDbAlbumId OBJECT-TYPE
175: SYNTAX DisplayString
176: MAX-ACCESS read-only
177: STATUS current
178: DESCRIPTION
179: "The globally unique album id, following the CDDB standard.
180: This value is represented as an ASCII string of hexadecimal
181: characters for simplicity."
182: ::= { auDbEntry 3 }
183:
184: auDbAlbumTitle OBJECT-TYPE
185: SYNTAX DisplayString
186: MAX-ACCESS read-only
187: STATUS current
188: DESCRIPTION
189: "The album name, in ASCII."
190: ::= { auDbEntry 4 }
191:
192: auDbSongTitle OBJECT-TYPE
193: SYNTAX DisplayString
194: MAX-ACCESS read-only
195: STATUS current
196: DESCRIPTION
197: "The song title, in ASCII."
198: ::= { auDbEntry 5 }
199:
200: auDbAlbumSongNumber OBJECT-TYPE
201: SYNTAX Unsigned32
202: MAX-ACCESS read-only
203: STATUS current
204: DESCRIPTION
205: "The relative song number within an album. The first song in
206: an album is defined to be at offset 1 (ie, this is a 1-based
207: variable; the value of zero is undefined)."
208: ::= { auDbEntry 6 }
209:
210: auDbGenre OBJECT-TYPE
211: SYNTAX DisplayString
212: MAX-ACCESS read-only
213: STATUS current
214: DESCRIPTION
215: "The genre, in ASCII."
216: ::= { auDbEntry 7 }
217:
218: auDbYear OBJECT-TYPE
219: SYNTAX DateAndTime
220: MAX-ACCESS read-only
221: STATUS current
222: DESCRIPTION
223: "The year the song was published."
224: ::= { auDbEntry 8 }
225:
226: auDbSongEncoding OBJECT-TYPE
227: SYNTAX INTEGER {
228: wave(1),
229: shorten(2),
230: mp3vbr(3),
231: mp3cbr(4)
232: }
233: MAX-ACCESS read-only
234: STATUS current
235: DESCRIPTION
236: "An enum value that maps to a standard file encoding, as
237: used to initially create the audio file."
238: ::= { auDbEntry 9 }
239:
240: auDbSongEncBitRate OBJECT-TYPE
241: SYNTAX Unsigned32
242: MAX-ACCESS read-only
243: STATUS current
244: DESCRIPTION
245: "If audio file is compressed, return the effective bit-rate
246: as an unsigned integer (eg, 128, 160, 192, 256, 320, etc).
247: If audio is not compressed, the value 0 should be returned."
248: ::= { auDbEntry 10 }
249:
250: auDbSongPlayLength OBJECT-TYPE
251: SYNTAX Unsigned32
252: MAX-ACCESS read-only
253: STATUS current
254: DESCRIPTION
255: "The realtime length of the song, measured in seconds."
256: ::= { auDbEntry 11 }
257:
258:
259:
260:
261:
262:
263: -- Audio Request Table
264: -- This table accepts remote SNMP SET requests. Entries in this
265: -- table are created from remote users who wish to request that
266: -- a song in the available (stored) music database be queued up
267: -- for playback.
268:
269: auReqTable OBJECT-TYPE
270: SYNTAX SEQUENCE OF AuReqEntry
271: MAX-ACCESS not-accessible
272: STATUS current
273: DESCRIPTION
274: "This table contains entries created via remote NMSs on
275: behalf of users wishing for specific songs to be entered
276: into the central playback queue."
277: ::= { auPlaybackTables 2 }
278:
279: auReqEntry OBJECT-TYPE
280: SYNTAX AuReqEntry
281: MAX-ACCESS not-accessible
282: STATUS current
283: DESCRIPTION
284: "The audio request entry."
285: INDEX { auReqIndex }
286: ::= { auReqTable 1 }
287:
288: AuReqEntry ::= SEQUENCE {
289: auReqIndex Unsigned32,
290: auReqSongId Unsigned32,
291: auReqEntryStatus RowStatus
292: }
293:
294: auReqIndex OBJECT-TYPE
295: SYNTAX Unsigned32 (1..4294967295)
296: MAX-ACCESS not-accessible
297: STATUS current
298: DESCRIPTION
299: "An arbitrary integer to uniquely identify this entry. To
300: create an entry a management application should pick a
301: random number."
302: ::= { auReqEntry 1 }
303:
304: auReqSongId OBJECT-TYPE
305: SYNTAX Unsigned32 (1..4294967295)
306: MAX-ACCESS read-create
307: STATUS current
308: DESCRIPTION
309: "This refers to a valid song-id from the table of available
310: songs, auMusicDbTable."
311: ::= { auReqEntry 2 }
312:
313: auReqEntryStatus OBJECT-TYPE
314: SYNTAX RowStatus
315: MAX-ACCESS read-create
316: STATUS current
317: DESCRIPTION
318: "The control variable that allows creation, modification,
319: and deletion of entries in this table. The only valid
320: value for this variable is createAndGo. Upon successful
321: row creation in this table, a new row in the auQueue table
322: will be auto-created; which represents an actual to-do
323: playback item in a time-ordered (FIFO) queue.
324:
325: Rows in this table are always auto-deleted by the agent
326: immediately after a successful row-create in the auQueue
327: table."
328: ::= { auReqEntry 3 }
329:
330:
331:
332:
333:
334: -- Playback Queue Table
335: -- This table accepts remote SNMP SET requests. Entries in this
336: -- table are created as a direct result of table row-creates
337: -- in the auReq table.
338:
339: auQueueTable OBJECT-TYPE
340: SYNTAX SEQUENCE OF AuQueueEntry
341: MAX-ACCESS not-accessible
342: STATUS current
343: DESCRIPTION
344: "This table contains entries created via the local agent
345: as a direct result of rows created in the auReq table.
346: There will be one entry in this table for each pending
347: song playback request."
348: ::= { auPlaybackTables 3 }
349:
350: auQueueEntry OBJECT-TYPE
351: SYNTAX AuQueueEntry
352: MAX-ACCESS not-accessible
353: STATUS current
354: DESCRIPTION
355: "The queued song entry."
356: INDEX { auQueueIndex }
357: ::= { auQueueTable 1 }
358:
359: AuQueueEntry ::= SEQUENCE {
360: auQueueIndex Unsigned32,
361: auQueueSongId Unsigned32,
362: auQueueEntryStatus RowStatus
363: }
364:
365: auQueueIndex OBJECT-TYPE
366: SYNTAX Unsigned32 (1..4294967295)
367: MAX-ACCESS not-accessible
368: STATUS current
369: DESCRIPTION
370: "An arbitrary integer to uniquely identify this entry.
371: Entries in this table are auto-created by the local
372: agent. The current song is the lowest numbered instance.
373: Upon completion of playback of the current song, its row
374: is auto-deleted by the local agent and the song with next
375: lexi-ordered instance begins playback. When the maximum
376: instance-id is reached, the instance will wrap back to
377: the first valid id, which is defined to be 1."
378: ::= { auQueueEntry 1 }
379:
380: auQueueSongId OBJECT-TYPE
381: SYNTAX Unsigned32 (1..4294967295)
382: MAX-ACCESS read-create
383: STATUS current
384: DESCRIPTION
385: "This refers to a valid song-id from the table of available
386: songs, auMusicDbTable."
387: ::= { auQueueEntry 2 }
388:
389: auQueueEntryStatus OBJECT-TYPE
390: SYNTAX RowStatus
391: MAX-ACCESS read-create
392: STATUS current
393: DESCRIPTION
394: "The control variable that allows creation, modification,
395: and deletion of entries in this table. This table
396: represents the to-do list of songs waiting to be played.
397: Deleting rows in this table cause playback of the
398: corresponding song to be aborted and the next one in
399: the table to be started."
400: ::= { auQueueEntry 3 }
401:
402:
403:
404:
405:
406: --
407: -- Conformance
408: --
409: auPlaybackMIBConformance
410: OBJECT IDENTIFIER ::= { audioPlaybackMIB 4 }
411:
412: auPlaybackMIBCompliances
413: OBJECT IDENTIFIER ::= { auPlaybackMIBConformance 1 }
414:
415: auPlaybackMIBGroups
416: OBJECT IDENTIFIER ::= { auPlaybackMIBConformance 2 }
417:
418:
419:
420: --
421: -- Compliance
422: --
423:
424: auPlaybackMIBCompliance MODULE-COMPLIANCE
425: STATUS current
426: DESCRIPTION
427: "The compliance statement for entities which implement
428: the Audio Playback Control MIB. Implementation of this
429: MIB is based on having too much spare time on your
430: hands."
431: MODULE -- this module
432: MANDATORY-GROUPS {
433: auHwCtlGroup,
434: auPlaybackDbGroup,
435: auPlaybackRequestGroup,
436: auQueueGroup
437: }
438: ::= { auPlaybackMIBCompliances 1 }
439:
440: --
441: -- Units of Conformance
442: --
443: auHwCtlGroup OBJECT-GROUP
444: OBJECTS {
445: auHwCapabilities,
446: auHwCtlVolume,
447: auHwCtlBass,
448: auHwCtlTreble,
449: auHwCtlBalance
450: }
451: STATUS current
452: DESCRIPTION
453: "Audio Hardware management."
454: ::= { auPlaybackMIBGroups 1 }
455:
456: auPlaybackDbGroup OBJECT-GROUP
457: OBJECTS {
458: auDbArtistName,
459: auDbAlbumId,
460: auDbAlbumTitle,
461: auDbSongTitle,
462: auDbAlbumSongNumber,
463: auDbGenre,
464: auDbYear,
465: auDbSongEncBitRate,
466: auDbSongEncoding,
467: auDbSongPlayLength
468: }
469: STATUS current
470: DESCRIPTION
471: "Audio Library management."
472: ::= { auPlaybackMIBGroups 2 }
473:
474: auPlaybackRequestGroup OBJECT-GROUP
475: OBJECTS {
476: auReqSongId,
477: auReqEntryStatus
478: }
479: STATUS current
480: DESCRIPTION
481: "Audio file entry to be added to playback queue."
482: ::= { auPlaybackMIBGroups 3 }
483:
484: auQueueGroup OBJECT-GROUP
485: OBJECTS {
486: auQueueSongId,
487: auQueueEntryStatus
488: }
489: STATUS current
490: DESCRIPTION
491: "Audio file entry currently in the to-do (play) list."
492: ::= { auPlaybackMIBGroups 4 }
493:
494: END
495:
496: --
497: -- Copyright (C) The Internet Society (2002). All Rights Reserved.
498: --
499: -- This document and translations of it may be copied and furnished to
500: -- others, and derivative works that comment on or otherwise explain it
501: -- or assist in its implementation may be prepared, copied, published
502: -- and distributed, in whole or in part, without restriction of any
503: -- kind, provided that the above copyright notice and this paragraph are
504: -- included on all such copies and derivative works. However, this
505: -- document itself may not be modified in any way, such as by removing
506: -- the copyright notice or references to the Internet Society or other
507: -- Internet organizations, except as needed for the purpose of
508: -- developing Internet standards in which case the procedures for
509: -- copyrights defined in the Internet Standards process must be
510: -- followed, or as required to translate it into languages other than
511: -- English.
512: --
513: -- The limited permissions granted above are perpetual and will not be
514: -- revoked by the Internet Society or its successors or assigns.
515: --
516: -- This document and the information contained herein is provided on an
517: -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
518: -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
519: -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
520: -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
521: -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
522: --
523: