без вектора S не могу никак по другому вытащить ссылку.
Звуки в библиотеке хранятся в векторе, это просто стоит воспринять как данное. Они точно верно загружены, вопрос только с вытаскиванием ссылки.
достать нужно 1 ссылку, поэтому и индекс
Я просто опустил эту часть кода когда в вектор заливаются звуки, так как с этой частью проблем нет, проблема - вытащить 1 из звуков и передать дальше, причем оптимально, без загрузки памяти
Добавлено через 19 минут

Код AS1/AS2:
var cache:Object={};
public function get_mus(id:String):Sound{
return cache[id]||(cache[id]=new getDifinitionByName(id))
Что-то мне подсказывает что каждый раз пересоздавать объект оператором new и через функцию возвращать весь, это как минимум не более оптимально чем написал я. У меня хотя бы getDifinitionByName для 1 элемента используется 1 раз при загрузке, тут каждый раз при обращении..
Других варианты есть у кого нибудь ?
Добавлено через 58 минут
Еще раз сформулирую проблему. Объект звука нужно создать 1 раз, а дальше только распоряжаться ссылками на него.
Вот такой вариант прокатит ? функция будет возвращать лишь ссылку, или где то по ходу ее выполнения все равно будет происходить копирование самих данных звука ?

Код AS1/AS2:
public function get_mus(N:int):Sound
{
return(SOURСE_MUSIC[N]);
}