MP3 Player without external hardware MP3 Player without external hardware. A software based MP3 player based on a modified version of libmad. Mono output (at the moment) via AnalogOut. Files are read from an USB drive. This is a demo program, it plays only one file at the moment. Documentation is in "main.cpp" and "config.h"
Diff: mbed/Stream.h
- Revision:
- 0:7627c79db971
diff -r 000000000000 -r 7627c79db971 mbed/Stream.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed/Stream.h Fri Nov 26 12:18:30 2010 +0000 @@ -0,0 +1,67 @@ +/* mbed Microcontroller Library - Stream + * Copyright (c) 2007-2009 ARM Limited. All rights reserved. + * sford + */ + +#ifndef MBED_STREAM_H +#define MBED_STREAM_H + +#include "FileLike.h" +#include "platform.h" +#include <cstdio> + +namespace mbed { + +class Stream : public FileLike { + +public: + + Stream(const char *name = NULL); + virtual ~Stream(); + + int putc(int c) { + fflush(_file); + return std::fputc(c, _file); + } + int puts(const char *s) { + fflush(_file); + return std::fputs(s, _file); + } + int getc() { + fflush(_file); + return std::fgetc(_file); + } + char *gets(char *s, int size) { + fflush(_file); + return std::fgets(s,size,_file);; + } + int printf(const char* format, ...); + int scanf(const char* format, ...); + + operator std::FILE*() { return _file; } + +#ifdef MBED_RPC + virtual const struct rpc_method *get_rpc_methods(); +#endif + +protected: + + virtual int close(); + virtual ssize_t write(const void* buffer, size_t length); + virtual ssize_t read(void* buffer, size_t length); + virtual off_t lseek(off_t offset, int whence); + virtual int isatty(); + virtual int fsync(); + virtual off_t flen(); + + virtual int _putc(int c) = 0; + virtual int _getc() = 0; + + std::FILE *_file; + +}; + +} // namespace mbed + +#endif +