Is it possible to create an AbletonLive plugin that provides a UI as well as a button to load a series of files as sound clips? - ableton-live

I want to dynamically populate a MIDI AUDIO track's clips section with a bunch of mp3s in a folder that change hourly.
I want to create a GUI where I can tune the frequency of how often new clips are loaded into the MIDI AUDIO track's clips section.
Is this possible with Ableton Live's Developer SDK? does this even exist? If not, is there another more accessible DAW for this type of custom GUI work?

You can create custom GUIs using Max for Live.
You can't, however, add mp3 files to a MIDI instrument's clips, even manually. Audio files such as mp3s can only be added as clips to Audio tracks. MIDI instruments can only be added to MIDI tracks, and the clips on MIDI tracks must be MIDI clips.
Unfortunately, Max for Live does not yet provide a way to programmatically add audio files as clips even on audio tracks. So, I'm afraid you can't implement this with Ableton Live.

The way to create UI devices in Live that are capable of accessing the Live API would be to use Max for Live (documentation here).
Assuming you meant adding mp3s to clip slots of Audio tracks (as opposed to MIDI tracks), indeed it does not not currently seem possible to do that via the API. The create_clip function of the ClipSlot object only applies to MIDI tracks.
For reference the full API is specified here.

Related

Streaming audio in A-frame

I am building a multi-user experience in A-frame using NAF, and I have some positional audio containing music tracks in different points of the scene. I'm trying to figure out if it's possible to make it that the music is listened simultaneously by all the connected users. It is very important that they are positional, since I need several audio sources in the scene. At the moment, the tracks start when you enter the experience, so each person hears them from the start when they access the scene. This is the file that I'm using right now: https://glitch.com/~indigo-roomy-supermarket
I tried with the broadcast-component, but didn't manage. I thought of trying a workaround using a stream of twitch and hiding the video, trying to project it to a primitive, but also doesn't work so far (just managed to attach it to a div over the scene, I can hide the video but the audio would never be positional). Here the file where I tried it (not networked, but it should be the same): https://glitch.com/~twitchtest-01 I know that there's the option of connecting vimeo to a-frame using this: https://github.com/vimeo/aframe-vimeo-component but the audio itself is not positional, so it doesn't really solve my problem (also, I don't know if it would work with vimeo live).
If somebody knows a way to do this, I would greatly appreciate if you can share your wisdom. Thanks a lot!
I don't think that's easy.
Assuming you have streaming audio servers at your disposal like this then the way I would approach this, is:
fetch an audio stream and once the download returns, get the source buffer
override the source buffer of your positional audio element (something like this.el.getObject3D('sound').children[0].source.buffer) with the newly created audio buffer.
This might work.
If it doesn't, then create you own audio element component by using positional ThreeJS sound directly with setMediaStreamSource.
My assessment would be that this takes several days just to prototype alone. Having said that, I am pretty sure it's doable.

Flex 4: VideoDisplay can play MP3 files?

Is it possible to play MP3 files using the VideoDisplay or VideoPlayer components?
Thank you.
Actually, yes they can play MP3 files. I've just got it working by simply passing the path of the MP3 to a VideoPlayer component instance.
Although I wouldn't recommend using a video component to solely play audio files, I agree that it's sometimes appropriate to play a sound file in a video display component. In my case I have a mixed list of audio and video media items and want a unified preview area and playback/scrub controls.
Why would you use a video component to play a sound file? Either way, you should probably google before posting here. This is how you do it:
var snd:Sound = new Sound(new URLRequest("smallSound.mp3"));
snd.play();

How can I seek to an exact point in a Flash video without a Flash Media Server?

Is the Flash Video (or Flex VideoDisplay) component capable of seeking to an exact moment in a video?
It seems to always 'snap' to keyframes (which is understandable). I'm just wondering if there are any mechanisms in the video classes for seeking to exact frames, ie it should do the translation from keyframe to specific frame in the background rather than having to actually play the video forward to the desired frame.
This is not a streaming file and has nothing to do with buffering. The player is just downloading a movie file from the web and playing it from memory.
Thanks!
You need a streaming media server to jump to an exact moment in the video.
Otherwise you are stuck using progressive downloading, which will download every moment between the first one, and the moment you want to jump to.
You do not need to use Flash Media Server, though. Red5 is an open source alternative.
I do not know specifics on the code needed to jump to a specific point, though.

using multimedia files in asp.net in background

let's say i want to play an mp3 song in the background of the website alog the user's travesal between the different pages...
is is possible?
I would not recommend doing this, it will annoy users and possibly alienate your users without sound. The easiest way is to have another frame play the music. Another way is to have a popup come up and play the music [which stays up between pages].
Within a single frameless page? I can't think of any possible straightforward solution.
Off my head, the altenatives are:
1. frames (parent frame plays the audio, child frame holds the site pages)
2. pop-up window which plays the audio
3. a single page which puts in page content via ajax and loads into the main container while the audio is played outside the container
4. use flash and puts in content via actionscript into the flash display panel
Personally, I would not recommend any of the above :P
Multimedia is the best way to enhance the user interface of any application. In .NET there is many ways to play an Audio using any .NET technology supporting languages. One of the simple way to acheive is Multimedia Control Interface, shirtly we call it as MCI, wrapping high-level system components, such as Windows Media Player to play our audio files.
visit this link.. to get more information.. about it
http://vivekthangaswamy.blogspot.com/2006/11/using-cnet-play-multimedia-files-using.html

How to mute entire flex application?

I'm playing several video streams in my flex application. Plus there are sounds of application UI. Is there possibility to mute entire application or I should silence each of potential sound sources?
Have you tried
SoundMixer.soundTransform = new SoundTransform(0, 0);
I'm pretty sure there is no way to do that with ActionScript out of the box. You'll need to have some manager class that keeps track of all the sounds (Sound, SoundChannel, SoundTransform, etc and your video streams) in your application and that has logic for muting.
If you can force your users to use firefox, there is a plugin available to mute swf files. Mute Flash - https://addons.mozilla.org/en-US/firefox/addon/5453
You probably have to re implement your app to centralize the control of audio components within your app. There is a design pattern out there called Inversion of Control that may be useful for this problem.
http://en.wikipedia.org/wiki/Inversion_of_control
Specifically with Flex, you should lookup the Model Locator pattern with Cairngorm.
http://www.adobe.com/devnet/flex/articles/cairngorm_pt2_06.html
You could use this to store all the various audio levels for your application in a single location. And you could add a method called muteAll() that would go in and set all the levels to 0. Anytime you create a new audio component in the app make sure to add a reference to its volume level in the model locator. Bind the audio's volume level to the value set in the model locator. Then elsewhere in the app you can change the value in the model locator and through binding the audio component you build will get updated.
This might also be helpful.
http://livedocs.adobe.com/flex/3/html/help.html?content=Working_with_Sound_23.html#160274

Resources