// Copyright 2014, tb-software.com
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification, are permitted 
// provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this list of conditions 
// and the following disclaimer. 
//
// Redistributions in binary form must reproduce the above copyright notice, this list of conditions 
// and the following disclaimer in the documentation and/or other materials provided with the distribution. 
//
// The name of tb-software.com may not be used to endorse or 
// promote products derived from this software without specific prior written permission. 
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// Memory Manager Class
// by TB Pro Audio 2014 (www.tb-software.com)
//
// - small memory manager class
//
// Usage:
//
// @init
//	MM.MemMgr_Init (0);
//
//	buf0 = MM.MemMgr_Alloc(100);
//	buf1 = MM.MemMgr_Alloc(1000);
//

// Change log
// V1.0: First public release

desc: Memory Manager Class

@init

// Small Memory Manager Class
function MemMgr_Init (start)
(
  this.pos = start;
);

// Use alloc where every you want
function MemMgr_Alloc (cnt)
local (tmp)
(
    tmp = this.pos;
    this.pos += cnt;
    tmp;
);

// EO@init
