Mercurial > octave-nkf
view libinterp/dldfcn/player_class.h @ 19537:36a26a131209
Apply Octave coding style to audio project additions
* libinterp/dldfcn/__player_audioplayer__.cc,
libinterp/dldfcn/__recorder_audiorecorder__.cc,
libinterp/dldfcn/audiodevinfo.cc, libinterp/dldfcn/audioinfo.cc,
libinterp/dldfcn/audioread.cc, libinterp/dldfcn/audiowrite.cc,
libinterp/dldfcn/player_class.cc, libinterp/dldfcn/player_class.h,
libinterp/dldfcn/recorder_class.cc, libinterp/dldfcn/recorder_class.h,
scripts/audio/@audioplayer/__get_properties__.m,
scripts/audio/@audioplayer/audioplayer.m,
scripts/audio/@audioplayer/display.m, scripts/audio/@audioplayer/get.m,
scripts/audio/@audioplayer/isplaying.m, scripts/audio/@audioplayer/pause.m,
scripts/audio/@audioplayer/play.m,
scripts/audio/@audioplayer/playblocking.m,
scripts/audio/@audioplayer/resume.m, scripts/audio/@audioplayer/set.m,
scripts/audio/@audioplayer/stop.m, scripts/audio/@audioplayer/subsasgn.m,
scripts/audio/@audioplayer/subsref.m,
scripts/audio/@audiorecorder/__get_properties__.m,
scripts/audio/@audiorecorder/audiorecorder.m,
scripts/audio/@audiorecorder/display.m, scripts/audio/@audiorecorder/get.m,
scripts/audio/@audiorecorder/getaudiodata.m,
scripts/audio/@audiorecorder/getplayer.m,
scripts/audio/@audiorecorder/isrecording.m,
scripts/audio/@audiorecorder/pause.m, scripts/audio/@audiorecorder/play.m,
scripts/audio/@audiorecorder/record.m,
scripts/audio/@audiorecorder/recordblocking.m,
scripts/audio/@audiorecorder/resume.m, scripts/audio/@audiorecorder/set.m,
scripts/audio/@audiorecorder/stop.m,
scripts/audio/@audiorecorder/subsasgn.m,
scripts/audio/@audiorecorder/subsref.m: Apply consistent Octave indentation,
spacing, and quoting styles. Strip trailing whitespace. Remove braces from
one-line if-else blocks. Simplify some variable declarations.
author | Mike Miller <mtmiller@ieee.org> |
---|---|
date | Thu, 03 Oct 2013 07:52:58 -0400 |
parents | 8bb399569393 |
children |
line wrap: on
line source
/* Copyright (C) 2013 Vytautas JanĨauskas This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifndef PLAYER_CLASS_H #define PLAYER_CLASS_H #include <string> #include "oct.h" #include "ov-int32.h" #include <portaudio.h> #include "player_class.h" enum audio_type { INT8, UINT8, INT16, DOUBLE }; class audioplayer : public octave_base_value { public: audioplayer (void); ~audioplayer (void) {}; // Overloaded base functions double player_value (void) const { return 0; } virtual double scalar_value (bool frc_str_conv = false) const { return 0; } void print (std::ostream& os, bool pr_as_read_syntax = false) const; void print_raw (std::ostream& os, bool pr_as_read_syntax) const; // Properties bool is_constant (void) const { return true; } bool is_defined (void) const { return true; } bool print_as_scalar (void) const { return true; } void init (void); void init_fn (void); void set_y (octave_value y); void set_y (octave_function *fn); void set_y (std::string fn); Matrix& get_y (void); RowVector *get_left (void); RowVector *get_right (void); void set_fs (int fs); int get_fs (void); void set_nbits (int nbits); int get_nbits (void); void set_id (int id); int get_id (void); int get_channels (void); audio_type get_type (void); void set_sample_number (unsigned int sample); unsigned int get_sample_number (void); unsigned int get_total_samples (void); void set_end_sample (unsigned int sample); unsigned int get_end_sample (void); void reset_end_sample (void); void set_tag (charMatrix tag); charMatrix get_tag (void); void set_userdata (octave_value userdata); octave_value get_userdata (void); PaStream *get_stream (void); octave_function *octave_callback_function; void playblocking (void); void play (void); void pause (void); void resume (void); void stop (void); bool isplaying (void); private: Matrix y; RowVector left; RowVector right; charMatrix tag; octave_value userdata; int channels; int fs; int nbits; int id; unsigned int sample_number; unsigned int end_sample; PaStream *stream; PaStreamParameters output_parameters; audio_type type; DECLARE_OCTAVE_ALLOCATOR DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA }; #endif // PLAYER_CLASS_H