bugfixes, new plugin "Vibed" and more
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@111 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
1 parent
87985c092c
commit
462c48d012
73 files changed
+3180
-80
No files matched your search
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* string_container.cpp - contains a collection of strings
|
||||
*
|
||||
* Copyright (c) 2006 Danny McRae <khjklujn/at/yahoo/com>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program 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 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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 this program (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "string_container.h"
|
||||
|
||||
|
||||
stringContainer::stringContainer( const float _pitch,
|
||||
const sample_rate_t _sample_rate,
|
||||
const Uint32 _buffer_length ) :
|
||||
m_pitch( _pitch ),
|
||||
m_sampleRate( _sample_rate ),
|
||||
m_bufferLength( _buffer_length )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void stringContainer::addString(Uint8 _harm,
|
||||
const float _pick,
|
||||
const float _pickup,
|
||||
float * _impluse,
|
||||
const float _randomize,
|
||||
const float _string_loss,
|
||||
const float _detune,
|
||||
const Uint8 _oversample,
|
||||
const bool _state )
|
||||
{
|
||||
float harm;
|
||||
switch( _harm )
|
||||
{
|
||||
case 0:
|
||||
harm = 0.25f;
|
||||
break;
|
||||
case 1:
|
||||
harm = 0.5f;
|
||||
break;
|
||||
case 2:
|
||||
harm = 1.0f;
|
||||
break;
|
||||
case 3:
|
||||
harm = 2.0f;
|
||||
break;
|
||||
case 4:
|
||||
harm = 3.0f;
|
||||
break;
|
||||
case 5:
|
||||
harm = 4.0f;
|
||||
break;
|
||||
case 6:
|
||||
harm = 5.0f;
|
||||
break;
|
||||
case 7:
|
||||
harm = 6.0f;
|
||||
break;
|
||||
case 8:
|
||||
harm = 7.0f;
|
||||
break;
|
||||
default:
|
||||
harm = 1.0f;
|
||||
}
|
||||
|
||||
m_strings.append( new vibratingString( m_pitch * harm,
|
||||
_pick,
|
||||
_pickup,
|
||||
_impluse,
|
||||
m_bufferLength,
|
||||
m_sampleRate,
|
||||
_oversample,
|
||||
_randomize,
|
||||
_string_loss,
|
||||
_detune,
|
||||
_state ) );
|
||||
}
|
||||
Reference in new issue
Block a user