From alsa-user-owner@alsa.jcu.cz  Sun Jan 24 22:26:05 1999
Received: from cyphyn.219.org (nwhn-sh3-port89.snet.net [204.60.14.89])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id WAA30129
	for <alsa-user@jcu.cz>; Sun, 24 Jan 1999 22:23:52 +0100
Received: from localhost (emng@localhost)
          by cyphyn.219.org (8.8.4/8.8.4) with ESMTP
	  id QAA13255 for <alsa-user@jcu.cz>; Sun, 24 Jan 1999 16:29:10 -0500
Date: Sun, 24 Jan 1999 16:29:10 -0500 (EST)
From: Fred Floberg <emng@geocities.com>
To: alsa-user@jcu.cz
Subject: Playit.c: Simple Multi-Format file player
Message-ID: <Pine.LNX.4.05.9901241600220.13163-200000@cyphyn.219.org>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811583-1879205082-917213350=:13163"
Reply-To: alsa-user@alsa.jcu.cz
Sender: alsa-user-owner@alsa.jcu.cz
Precedence: list

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---1463811583-1879205082-917213350=:13163
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hi all,

I wanted a simple command line based audio file payer that would
handle as many formats as possible, so I put together playit.c
(contained in the attachment below. It's < 3 Kbytes).

Playit.c uses the Audiofile Library by Michael Pruett availible at:

	http://www.68k.org/~michael/audiofile/

The Audiofile Library can handle many audio file formats, such as AIFF/AIFF-C,
WAVE, and NeXT/Sun .snd/.au.

If nothing else, playit.c provides an example of using some of ALSA's native API
in a file player application, which might be helpful to those who are new to
ALSA, and also the use of the Audiofile Library (which is very good, BTW).

To compile playit.c use the command (after installing libaudiofile):

	gcc playit.c -o playit -lm -laudiofile -lasound

To use it:

	playit -cN <files>

	where:

		N =	the number of the card (starting from 0) you wish to play the
			file through. This flag is optional and defaults to card number
			0.

		<files> = A file or list of files to be played.	

Enjoy,


Fred

P.S. playit.c is GPL'ed.




---1463811583-1879205082-917213350=:13163
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="playit.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.05.9901241629100.13163@cyphyn.219.org>
Content-Description: Source for playit
Content-Disposition: attachment; filename="playit.c"

I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8Z2V0b3B0Lmg+DQojaW5j
bHVkZSA8YXVkaW9maWxlLmg+DQojaW5jbHVkZSA8c3lzL2Fzb3VuZGxpYi5o
Pg0KDQojZGVmaW5lIE1ZQlVGU0laRSAxMDI0DQoNCnN0YXRpYyB2b2lkICpw
bGF5YmFja19oYW5kbGU7DQoNCi8qDQogICBPcGVuIGFuZCBpbml0aWFsaXpl
IHNvdW5kY2FyZCBmb3IgcGxheWJhY2sNCiAgIHdpdGggdGhlIHByb3BlciBw
YXJhbXMgZm9yIHRoZSBmaWxlIGluIHF1ZXN0aW9uLg0KKi8NCg0Kdm9pZCBv
cGVuX3BjbSggaW50IGNhcmQsIGludCBjaGFubmVscywgaW50IHJhdGUsIGlu
dCBzYW1wX3dpZHRoLCBpbnQgZnJhZ19zaXplICkNCnsNCglpbnQgZXJyOw0K
ICAgICAgICBzdGF0aWMgc25kX3BjbV9mb3JtYXRfdCBmb3JtYXQ7DQogICAg
ICAgIHN0YXRpYyBzbmRfcGNtX3BsYXliYWNrX3BhcmFtc190IHBhcmFtczsN
Cg0KCWlmKHNuZF9jYXJkcygpID09IDApew0KCQlwcmludGYoIk5vIHNvdW5k
IGNhcmRzIGZvdW5kISFcbiIpOw0KCQlleGl0KDApOw0KCX0NCg0KCWlmKHNh
bXBfd2lkdGggPT0gMTYpDQoJCWZvcm1hdC5mb3JtYXQgPSBTTkRfUENNX1NG
TVRfUzE2X0xFOw0KCWVsc2UNCgkJZm9ybWF0LmZvcm1hdCA9IFNORF9QQ01f
U0ZNVF9VODsNCg0KCWlmKGNoYW5uZWxzID09IDEpDQoJCWZvcm1hdC5jaGFu
bmVscyA9IDE7DQoJZWxzZQ0KCQlmb3JtYXQuY2hhbm5lbHMgPSAyOw0KDQoJ
Zm9ybWF0LnJhdGUgPSByYXRlOw0KDQoJcGFyYW1zLmZyYWdtZW50X3NpemUg
PSBmcmFnX3NpemU7DQoJcGFyYW1zLmZyYWdtZW50c19tYXggPSAtMTsgLyog
LTEgPSBtYXhpbXVtICovDQoJcGFyYW1zLmZyYWdtZW50c19yb29tID0gMTsN
Cg0KCWlmKChlcnIgPSBzbmRfcGNtX29wZW4oJnBsYXliYWNrX2hhbmRsZSwg
Y2FyZCwgMCwgU05EX1BDTV9PUEVOX1BMQVlCQUNLKSkgIT0gMCl7DQoJCXBy
aW50ZigiT3BlbmluZyBhdWRpbyBjYXJkICMlaTogJXNcbiIsIGNhcmQsIHNu
ZF9zdHJlcnJvcihlcnIpKTsNCgkJZXhpdCgwKTsNCgl9DQoNCglpZihlcnIg
PSBzbmRfcGNtX3BsYXliYWNrX2Zvcm1hdChwbGF5YmFja19oYW5kbGUsICZm
b3JtYXQpKXsNCgkJcHJpbnRmKCJzbmRfcGNtX3BsYXliYWNrX2Zvcm1hdCBm
b3IgY2FyZCAjJWk6ICVzXG4iLCBjYXJkLCBzbmRfc3RyZXJyb3IoZXJyKSk7
DQoJCWV4aXQoMCk7DQoJfQ0KDQoJaWYoKGVyciA9IHNuZF9wY21fcGxheWJh
Y2tfcGFyYW1zKHBsYXliYWNrX2hhbmRsZSwgJnBhcmFtcykpIDwgMCl7DQoJ
CXByaW50Zigic25kX3BjbV9wbGF5YmFja19wYXJhbXMgZm9yIGNhcmQgJWk6
ICVzXG4iLCBjYXJkLCBzbmRfc3RyZXJyb3IoZXJyKSk7DQoJCWV4aXQoMCk7
DQoJfQ0KfQ0KDQoNCnZvaWQgcGxheV9idWZmZXIoIHZvaWQgKmJ1ZmZlciwg
aW50IGJ1ZmZlcl9sZW4gKQ0Kew0KCWludCBlcnI7DQoNCglpZiAoKGVyciA9
IHNuZF9wY21fd3JpdGUocGxheWJhY2tfaGFuZGxlLCAodm9pZCAqKWJ1ZmZl
ciwgKHNpemVfdClidWZmZXJfbGVuKSkgPCBidWZmZXJfbGVuKQ0KCQlwcmlu
dGYoIkNvdWxkIG9ubHkgd3JpdGUgJWkgc2FtcGxlcyBvdXQgb2YgJWlcbiIs
IGVyciwgYnVmZmVyX2xlbik7DQp9DQoNCm1haW4oaW50IGFyZ2MsIGNoYXIg
KmFyZ3ZbXSkNCnsNCg0KCUFGZmlsZWhhbmRsZSBpbl9maWxlOw0KCWludCBp
bl9mb3JtYXQsIGluX3dpZHRoLCBpbl9jaGFubmVscywgZnJhbWVfY291bnQ7
DQoJZG91YmxlIGluX3JhdGU7DQoJaW50IGJ5dGVzX3Blcl9mcmFtZSwgZnJh
bWVzX3RvX3JlYWQsIGZyYW1lc19yZWFkOw0KCXVuc2lnbmVkIGJ1ZltNWUJV
RlNJWkVdOw0KDQogICAgICAgIHN0YXRpYyBzbmRfcGNtX2Zvcm1hdF90IHBh
cm1zOw0KICAgICAgICBzdGF0aWMgc25kX3BjbV9wbGF5YmFja19wYXJhbXNf
dCBwcDsNCglpbnQgZXJyLCBjYXJkID0gMCwgYzsNCg0KCXdoaWxlKChjID0g
Z2V0b3B0KGFyZ2MsIGFyZ3YsICJjOiIpKSAhPSBFT0Ypew0KCQlzd2l0Y2go
Yyl7DQoJCQljYXNlICdjJzogY2FyZCA9IGF0b2kob3B0YXJnKTsNCgkJCQli
cmVhazsNCgkJCWNhc2UgJz8nOiBleGl0KDApOw0KCQl9DQoJfQ0KCXdoaWxl
KGFyZ3Zbb3B0aW5kXSAhPSBOVUxMKXsNCgkJaWYoKGluX2ZpbGUgPSBhZk9w
ZW5GaWxlKGFyZ3Zbb3B0aW5kXSwgInIiLCBOVUxMKSkgPT0gQUZfTlVMTF9G
SUxFSEFORExFKXsNCgkJCXByaW50ZigiQ2FuJ3Qgb3BlbiAlc1xuIiwgYXJn
dltvcHRpbmRdKTsNCgkJCWV4aXQoMCk7DQoJCX0NCg0KCQlwcmludGYoIlBs
YXlpbmcgJXNcbiIsIGFyZ3Zbb3B0aW5kXSk7DQoNCgkJZnJhbWVfY291bnQg
PSBhZkdldEZyYW1lQ291bnQoaW5fZmlsZSwgQUZfREVGQVVMVF9UUkFDSyk7
DQoJCWluX2NoYW5uZWxzID0gYWZHZXRDaGFubmVscyhpbl9maWxlLCBBRl9E
RUZBVUxUX1RSQUNLKTsNCgkJaW5fcmF0ZSA9IGFmR2V0UmF0ZShpbl9maWxl
LCBBRl9ERUZBVUxUX1RSQUNLKTsNCgkJYWZHZXRTYW1wbGVGb3JtYXQoaW5f
ZmlsZSwgQUZfREVGQVVMVF9UUkFDSywgJmluX2Zvcm1hdCwgJmluX3dpZHRo
KTsNCg0KCQlhZlNldFZpcnR1YWxCeXRlT3JkZXIoaW5fZmlsZSwgQUZfREVG
QVVMVF9UUkFDSywgQUZfQllURU9SREVSX0xJVFRMRUVORElBTik7DQoNCgkJ
b3Blbl9wY20oY2FyZCwgaW5fY2hhbm5lbHMsIGluX3JhdGUsIGluX3dpZHRo
LCBNWUJVRlNJWkUpOw0KDQoJCWJ5dGVzX3Blcl9mcmFtZSA9IGluX3dpZHRo
IC8gODsNCgkJZnJhbWVzX3RvX3JlYWQgPSBNWUJVRlNJWkUgLyBieXRlc19w
ZXJfZnJhbWU7DQoNCgkJd2hpbGUgKCBmcmFtZXNfcmVhZCA9IGFmUmVhZEZy
YW1lcyhpbl9maWxlLCBBRl9ERUZBVUxUX1RSQUNLLCBidWYsIGZyYW1lc190
b19yZWFkKSApDQoJCQlwbGF5X2J1ZmZlcihidWYsIGZyYW1lc19yZWFkICog
Ynl0ZXNfcGVyX2ZyYW1lICogaW5fY2hhbm5lbHMpOw0KDQoJCWFmQ2xvc2VG
aWxlKGluX2ZpbGUpOw0KCQlzbmRfcGNtX2Nsb3NlKHBsYXliYWNrX2hhbmRs
ZSk7DQoJCW9wdGluZCsrOw0KCX0NCn0NCg0K
---1463811583-1879205082-917213350=:13163--

