diff options
author | Juan Linietsky <reduzio@gmail.com> | 2017-01-15 16:06:14 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2017-01-15 16:07:51 -0300 |
commit | b400c69cd487f70d8164dd5550eb994253d359d6 (patch) | |
tree | 3ff9a43ef2fb12fa16bf0aca0f3f56fb7a1cf212 /modules/chibi/cp_song.h | |
parent | b24b52d56bb3938bdeff9640b0730d7717f2b4c6 (diff) |
Oops! Audio engine has vanished :D
Diffstat (limited to 'modules/chibi/cp_song.h')
-rw-r--r-- | modules/chibi/cp_song.h | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/modules/chibi/cp_song.h b/modules/chibi/cp_song.h deleted file mode 100644 index ba0fa3e80a..0000000000 --- a/modules/chibi/cp_song.h +++ /dev/null @@ -1,261 +0,0 @@ -/*************************************************************************/ -/* cp_song.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef CPSONG_H -#define CPSONG_H - - -/**CPSong Class - *@author Juan Linietsky - */ - -#include "cp_order.h" -#include "cp_pattern.h" -#include "cp_sample.h" -#include "cp_instrument.h" - -class CPSong { -public: - enum { - MAX_SONG_NAME=26, - MAX_ORDERS=200, - MAX_PATTERNS=200, - MAX_SAMPLES=99, - MAX_INSTRUMENTS=99, - - CHANNEL_MAX_PAN=64, - CHANNEL_MAX_VOLUME=64, - CHANNEL_MAX_CHORUS=64, - CHANNEL_MAX_REVERB=64, - - MIN_TEMPO=31, - MAX_TEMPO=255, - MIN_SPEED=1, - MAX_SPEED=255, - MAX_MESSAGE_LEN=8000, - - - - }; - - enum ReverbMode { - REVERB_MODE_ROOM, - REVERB_MODE_STUDIO_SMALL, - REVERB_MODE_STUDIO_MEDIUM, - REVERB_MODE_STUDIO_LARGE, - REVERB_MODE_HALL, - REVERB_MODE_SPACE_ECHO, - REVERB_MODE_ECHO, - REVERB_MODE_DELAY, - REVERB_MODE_HALF_ECHO - }; - -private: - CPOrder order[MAX_ORDERS]; - CPPattern pattern[MAX_PATTERNS]; - CPSample sample[MAX_SAMPLES]; - CPInstrument instrument[MAX_INSTRUMENTS]; - - - - struct Song_Variables { // variables that wont change in playback - - char name[MAX_SONG_NAME]; - char message[MAX_MESSAGE_LEN]; - /* string message; */ - - int row_highlight_minor; - int row_highlight_major; - - int mixing_volume; - int stereo_separation; - - bool use_stereo; - bool use_instruments; - bool use_linear_slides; - - bool old_effects; - bool compatible_gxx; - - } variables; - - struct Initial_Variables { // Initial values used for playback - - struct Channel_State { - - int pan,volume; // 0-- CHANNEL_MAX_PAN, CHANNEL_MAX_VOLUME - bool surround; - bool mute; - int chorus; //0 - 64 - int reverb; //0 - 64 - }; - - int global_volume; - int speed; - int tempo; - - Channel_State channel[CPPattern::WIDTH]; - } initial_variables; - - struct Effects { - - ReverbMode reverb_mode; - - struct Chorus { - - int delay_ms; - int separation_ms; - int depth_ms10; - int speed_hz10; - } chorus; - - } effects; - -public: - - /* Properties */ - - const char *get_name(); - void set_name(const char *p_name); - - const char *get_message(); - void set_message(const char *p_message); - - void set_row_highlight_minor(int p_hl_minor); /* 0 .. 256 */ - int get_row_highlight_minor(); /* 0 .. 256 */ - - void set_row_highlight_major(int p_hl_major); /* 0 .. 256 */ - int get_row_highlight_major(); /* 0 .. 256 */ - - void set_mixing_volume(int p_mix_volume); /* 0 .. 128 */ - int get_mixing_volume(); /* 0 .. 128 */ - - void set_global_volume(int p_global_volume); /* 0 .. 128 */ - int get_global_volume(); /* 0 .. 128 */ - - void set_stereo_separation(int p_separation); /* 0 .. 128 */ - int get_stereo_separation(); /* 0 .. 128 */ - - void set_stereo(bool p_stereo); - bool is_stereo(); - - void set_instruments(bool p_instruments); - bool has_instruments(); - - void set_linear_slides(bool p_linear_slides); - bool has_linear_slides(); - - void set_old_effects(bool p_old_effects); - bool has_old_effects(); - - void set_compatible_gxx(bool p_compatible_gxx); - bool has_compatible_gxx(); - - void set_speed(int p_speed); /* 1 .. 255 */ - int get_speed(); /* 1 .. 255 */ - - void set_tempo(int p_tempo); /* 31 .. 255 */ - int get_tempo(); /* 31 .. 255 */ - - void set_channel_pan(int p_channel,int p_pan); /* 0 .. 64 */ - int get_channel_pan(int p_channel); - - void set_channel_volume(int p_channel,int p_volume); /* 0 .. 64 */ - int get_channel_volume(int p_channel); - - void set_channel_surround(int p_channel,bool p_surround); - bool is_channel_surround(int p_channel); - - void set_channel_mute(int p_channel,bool p_mute); - bool is_channel_mute(int p_channel); - - void set_channel_chorus(int p_channel,int p_chorus); /* 0 .. 64 */ - int get_channel_chorus(int p_channel); - - void set_channel_reverb(int p_channel,int p_reverb); /* 0 .. 64 */ - int get_channel_reverb(int p_channel); - - /* arrays of stuff */ - - CPPattern* get_pattern(int p_pattern); - CPSample* get_sample(int p_sample); - CPInstrument* get_instrument(int p_instrument); - - int get_order(int p_position); - void set_order(int p_position,int p_order); - - - /* Effects */ - - ReverbMode get_reverb_mode(); - void set_reverb_mode(ReverbMode p_mode); - - void set_chorus_delay_ms(int p_amount); - void set_chorus_separation_ms(int p_amount); - void set_chorus_depth_ms10(int p_amount); - void set_chorus_speed_hz10(int p_amount); - - int get_chorus_delay_ms(); - int get_chorus_separation_ms(); - int get_chorus_depth_ms10(); - int get_chorus_speed_hz10(); - - /* utils */ - - void reset(bool p_clear_patterns=true,bool p_clear_samples=true,bool p_clear_instruments=true,bool p_clear_variables=true); - - void cleanup_unused_patterns(); - void cleanup_unused_instruments(); - void cleanup_unused_samples(); - void cleanup_unused_orders(); - void clear_all_default_pan(); - void clear_all_default_vol(); - - void clear_instrument_with_samples(int p_instrument); - - void make_instruments_from_samples(); - void make_instrument_from_sample(int p_sample); - - void separate_in_one_sample_instruments(int p_instrument); - - int get_order_in_use_count(); - int get_pattern_in_use_count(); - int get_instrument_in_use_count(); - int get_channels_in_use(); - - CPSong(); - ~CPSong(); - -}; - - -/* Some helper for something used a lot */ - -int get_song_next_order_idx(CPSong *p_song, int p_order_idx); - -#endif |