|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.frinika.project.ProjectContainer
public class ProjectContainer
Use to load Frinika projects. This class links together all components of a Frinika project, and provides all operations and features - including a Frinika sequencer instance. Information about Midi Devices - naming and how to reopen them is contained using the MidiDeviceDescriptors. Audio files are stored in a folder named audio which is created in the same folder as where the project is. Thus a good convention is to have one folder per project.
Field Summary | |
---|---|
int |
compression_level
Save project to a file |
Constructor Summary | |
---|---|
ProjectContainer()
Create empty project |
|
ProjectContainer(int ticksPerBeat)
|
|
ProjectContainer(javax.sound.midi.Sequence seq)
Import a Sequence (e.g. |
|
ProjectContainer(javax.sound.midi.Sequence seq,
javax.sound.midi.MidiDevice midiDevice)
|
|
ProjectContainer(javax.sound.midi.Sequence seq,
javax.sound.midi.MidiDevice midiDevice,
boolean adjustPPQ)
|
Method Summary | |
---|---|
void |
add(int index,
Lane lane)
|
void |
add(Lane lane)
adds a lane to the project and updates the history |
MidiDeviceDescriptor |
addMidiOutDevice(javax.sound.midi.MidiDevice midiDev)
Add a midi device to the project. |
uk.org.toot.audio.mixer.MixControls |
addMixerInput(uk.org.toot.audio.core.AudioProcess audioProcess,
java.lang.String string)
|
void |
buildMidiIndex()
|
MyClipboard |
clipBoard()
|
void |
close()
Close the project |
static void |
closeAllMidiOutDevices()
|
AudioLane |
createAudioLane()
Creates a AudioLane and adds it to the Lane collection |
MidiLane |
createMidiLane()
Creates a MidiLane and adds it to the Lane collection |
void |
createMidiLanesFromSequence(javax.sound.midi.Sequence seq,
javax.sound.midi.MidiDevice midiDevice)
|
void |
createSequence()
Creates a sequence based on the resolution defined in ticksPerQuarterNote |
SynthLane |
createSynthLane(MidiDeviceDescriptor desc)
|
TextLane |
createTextLane()
Creates a TextLane and adds it to the Lane collection |
long |
eventQuantize(long tick)
|
uk.org.toot.audio.server.AudioClient |
getAudioClient()
|
java.io.File |
getAudioDirectory()
|
BufferedRandomAccessFileManager |
getAudioFileManager()
|
uk.org.toot.audio.server.AudioServer |
getAudioServer()
|
ControlResolver |
getControlResolver()
|
java.lang.Long |
getDataBaseID()
|
DragList |
getDragList()
|
EditHistoryContainer |
getEditHistoryContainer()
|
long |
getEndTick()
|
java.io.File |
getFile()
|
java.lang.String |
getGenres()
|
java.util.List<Lane> |
getLanes()
|
LaneSelection |
getLaneSelection()
|
MidiDeviceDescriptor |
getMidiDeviceDescriptor(javax.sound.midi.MidiDevice midiDevice)
Get the midi device descriptor for the given midi device |
java.util.List<MidiDeviceDescriptor> |
getMidiDeviceDescriptors()
|
java.lang.Integer |
getMidiDeviceIndex(javax.sound.midi.MidiDevice midiDevice)
|
MidiDeviceRouter |
getMidiDeviceRouter()
|
MidiResource |
getMidiResource()
|
MidiRouterSerialization |
getMidiRouterSerialization()
|
MidiSelection |
getMidiSelection()
|
uk.org.toot.audio.mixer.AudioMixer |
getMixer()
|
uk.org.toot.audio.mixer.MixerControls |
getMixerControls()
|
MultiEventSelection |
getMultiEventSelection()
|
AudioInjector |
getOutputProcess()
|
PartSelection |
getPartSelection()
|
double |
getPartViewSnapQuantization()
|
double |
getPianoRollSnapQuantization()
|
int |
getPixelsPerRedraw()
|
java.io.File |
getProjectFile()
If this projectContainer was initialized by a project file -the return the file |
ProjectLane |
getProjectLane()
Lanes can contain other lanes. |
FrinikaRenderer |
getRenderer()
|
FrinikaScriptingEngine |
getScriptingEngine()
|
SelectionFocusable |
getSelectionFocus()
|
FrinikaSequence |
getSequence()
|
FrinikaSequencer |
getSequencer()
|
SoloManager |
getSoloManager()
|
SynthRack |
getSynthRack()
|
TempoList |
getTempoList()
Getter for the tempoList |
FrinikaTrackWrapper |
getTempoTrack()
|
int |
getTicksPerBeat()
|
TimeSignatureList |
getTimeSignatureList()
|
TimeUtils |
getTimeUtils()
|
java.lang.String |
getTitle()
|
void |
injectIntoOutput(uk.org.toot.audio.core.AudioProcess process)
Mixer the process output with the main mix |
void |
installMidiDevices()
Go through the mididevice descriptor map and install mididevices |
boolean |
isPartViewSnapQuantized()
|
boolean |
isPianoRollSnapQuantized()
|
static ProjectContainer |
loadCompressedProject(java.io.File file)
|
static ProjectContainer |
loadProject(java.io.File file)
|
static ProjectContainer |
loadProject(java.io.InputStream inputStream)
|
void |
message(java.lang.String string)
|
double |
microsAtTick(double tick)
translate ticks to microseconds |
long |
partQuantize(long tick)
|
void |
processMidiMessageFromDevice(javax.sound.midi.MidiDevice.Info devInfo,
javax.sound.midi.MidiMessage arg0,
long arg1)
Redirects midi events used for controls If not consumed event is sent to midiReciever. |
void |
rebuildGUI()
|
java.util.Vector<Lane> |
recordableLaneList()
|
void |
remove(Lane lane)
|
void |
removeMidiOutDevice(javax.sound.midi.MidiDevice midiDevice)
Remove a midiOutDevice from the project |
void |
removeStrip(java.lang.String name)
|
void |
resetEndTick()
|
void |
saveProject(java.io.File file)
|
void |
setDataBaseID(java.lang.Long dataBaseID)
|
void |
setEndTick(long tick)
|
void |
setGenres(java.lang.String string)
set song genres. |
void |
setPartViewSnapQuantization(double val)
|
void |
setPartViewSnapQuantized(boolean val)
|
void |
setPianoRollSnapQuantization(double val)
|
void |
setPianoRollSnapQuantized(boolean val)
|
void |
setPixelsPerRedraw(int i)
|
void |
setSaveReferencedData(boolean saveReferencedData)
|
void |
setSelectionFocus(SelectionFocusable focus)
|
void |
setTempoInBPM(float tempo)
Set the tempo of the first event in the tempo list |
void |
setTitle(java.lang.String t)
Set the title of the song. |
double |
tickAtMicros(double micros)
translate microsecond time to ticks |
double |
tickToSample(long tick)
|
void |
validate()
DEBUGING --- NOT FOR PUBLIC USE |
void |
validate(Lane parent)
DEBUGING --- NOT FOR PUBLIC USE |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public transient int compression_level
Constructor Detail |
---|
public ProjectContainer(int ticksPerBeat) throws java.lang.Exception
java.lang.Exception
public ProjectContainer() throws java.lang.Exception
java.lang.Exception
public ProjectContainer(javax.sound.midi.Sequence seq) throws java.lang.Exception
seq
-
java.lang.Exception
public ProjectContainer(javax.sound.midi.Sequence seq, javax.sound.midi.MidiDevice midiDevice) throws java.lang.Exception
java.lang.Exception
public ProjectContainer(javax.sound.midi.Sequence seq, javax.sound.midi.MidiDevice midiDevice, boolean adjustPPQ) throws java.lang.Exception
seq
- sequencemidiDevice
- assign tracks to mididevice.adjustPPQ
- recalculate the ticks if sequence PPQ is not the defualt.
java.lang.Exception
Method Detail |
---|
public java.lang.Long getDataBaseID()
public void setDataBaseID(java.lang.Long dataBaseID)
public MidiDeviceRouter getMidiDeviceRouter()
public MidiRouterSerialization getMidiRouterSerialization()
public void setGenres(java.lang.String string)
string
- A colon seperate list of genre names.public java.lang.String getGenres()
public void setTitle(java.lang.String t)
t
- public java.lang.String getTitle()
public void processMidiMessageFromDevice(javax.sound.midi.MidiDevice.Info devInfo, javax.sound.midi.MidiMessage arg0, long arg1)
processMidiMessageFromDevice
in interface MidiConsumer
devInfo
- arg0
- arg1
- public void removeStrip(java.lang.String name)
public uk.org.toot.audio.mixer.MixControls addMixerInput(uk.org.toot.audio.core.AudioProcess audioProcess, java.lang.String string)
public void injectIntoOutput(uk.org.toot.audio.core.AudioProcess process)
process
- public static ProjectContainer loadProject(java.io.File file) throws java.lang.Exception
java.lang.Exception
public static ProjectContainer loadCompressedProject(java.io.File file) throws java.lang.Exception
java.lang.Exception
public static ProjectContainer loadProject(java.io.InputStream inputStream) throws java.lang.Exception
java.lang.Exception
public void saveProject(java.io.File file) throws java.io.IOException
java.io.IOException
public java.util.List<Lane> getLanes()
public AudioLane createAudioLane()
public TextLane createTextLane()
public FrinikaSequencer getSequencer()
public void createSequence()
public FrinikaSequence getSequence()
public FrinikaRenderer getRenderer()
public java.io.File getProjectFile()
public MultiEventSelection getMultiEventSelection()
public PartSelection getPartSelection()
public LaneSelection getLaneSelection()
public MidiSelection getMidiSelection()
public FrinikaScriptingEngine getScriptingEngine()
public EditHistoryContainer getEditHistoryContainer()
public void close()
public void add(Lane lane)
add
in interface EditHistoryRecorder<Lane>
public void add(int index, Lane lane)
public void remove(Lane lane)
remove
in interface EditHistoryRecorder<Lane>
public ProjectLane getProjectLane()
public SynthRack getSynthRack()
public MidiResource getMidiResource()
public FrinikaTrackWrapper getTempoTrack()
public void setTempoInBPM(float tempo)
tempo
- public void buildMidiIndex()
public void installMidiDevices()
public void setSaveReferencedData(boolean saveReferencedData)
public java.lang.Integer getMidiDeviceIndex(javax.sound.midi.MidiDevice midiDevice)
public SelectionFocusable getSelectionFocus()
public void setSelectionFocus(SelectionFocusable focus)
public MyClipboard clipBoard()
public void rebuildGUI()
public double getPianoRollSnapQuantization()
public double getPartViewSnapQuantization()
public void setPianoRollSnapQuantization(double val)
public void setPartViewSnapQuantization(double val)
public boolean isPianoRollSnapQuantized()
public boolean isPartViewSnapQuantized()
public void setPianoRollSnapQuantized(boolean val)
public void setPartViewSnapQuantized(boolean val)
public long eventQuantize(long tick)
public long partQuantize(long tick)
public long getEndTick()
public void setEndTick(long tick)
public void validate()
public void validate(Lane parent)
parent
- public void resetEndTick()
public java.util.Vector<Lane> recordableLaneList()
public java.io.File getFile()
public java.io.File getAudioDirectory()
public MidiDeviceDescriptor addMidiOutDevice(javax.sound.midi.MidiDevice midiDev) throws javax.sound.midi.MidiUnavailableException
midiDev
-
javax.sound.midi.MidiUnavailableException
public static void closeAllMidiOutDevices()
public MidiDeviceDescriptor getMidiDeviceDescriptor(javax.sound.midi.MidiDevice midiDevice)
midiDevice
-
public void removeMidiOutDevice(javax.sound.midi.MidiDevice midiDevice)
midiDevice
- public java.util.List<MidiDeviceDescriptor> getMidiDeviceDescriptors()
public uk.org.toot.audio.mixer.MixerControls getMixerControls()
public uk.org.toot.audio.server.AudioServer getAudioServer()
public uk.org.toot.audio.mixer.AudioMixer getMixer()
public AudioInjector getOutputProcess()
public void message(java.lang.String string)
public SynthLane createSynthLane(MidiDeviceDescriptor desc)
public BufferedRandomAccessFileManager getAudioFileManager()
public uk.org.toot.audio.server.AudioClient getAudioClient()
public MidiLane createMidiLane()
public void createMidiLanesFromSequence(javax.sound.midi.Sequence seq, javax.sound.midi.MidiDevice midiDevice)
public DragList getDragList()
public int getPixelsPerRedraw()
public void setPixelsPerRedraw(int i)
public double tickAtMicros(double micros)
public double microsAtTick(double tick)
public TempoList getTempoList()
public TimeSignatureList getTimeSignatureList()
public int getTicksPerBeat()
public TimeUtils getTimeUtils()
public double tickToSample(long tick)
public SoloManager getSoloManager()
public ControlResolver getControlResolver()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |