1. A method of processing a multi-media editing project embodied on a computer readable medium having stored thereon a computer program executed by one or more processors, comprising: providing a software-implemented matrix switch that is programmable to dynamically couple multiple switch inputs scalable to multiple switch outputs based on content of a matrix switch programming grid, wherein the matrix switch programming grid is automatically generated by a render engine, a media time, and a project time, the render engine configured to: invoke and control an instance of a filter graph manager to assemble a tree structure of the multi-media editing project, noting a dependency between a source and one or more filters; ascertain performance characteristics of components comprising the tree structure of the multi-media editing project, wherein ascertaining performance characteristics of components comprising the tree structure comprises accessing and analyzing a system directory of an operating system of a computing system implementing the method of processing the multi-media editing project to ascertain performance characteristics of hardware and software components of the computing system; and adjust filter graph assembly based upon the ascertained performance characteristics; producing a single output that provides a data stream defined by the multi-media editing project; maintaining a list of one or more user designated directories where multi-media files have been stored in the past; generating a request for one or more multi-media files for use in the multi-media editing project, the request being generated by a user computer that comprises part of a network where multi-media files are maintained in a network accessible location; intercepting the request by the user computer; ascertaining whether a requested multi-media file is located on the user computer by checking one or more user-designated directories for the requested multi-media file listed in the list of one or more user-designated directories; retrieving the requested multi-media file if the file from the user computer if the file is located on the user computer in the one or more of the user-designated directories; asking a user to designate an additional local directory if the requested multi-media file is not located on the user computer in the one or more of the user-designated directories; seeking the requested multi-media file from the network-accessible location if the multi-media file is not located on the user computer in the additional local directory; updating the list responsive to the user designating the additional local directory; and producing the multi-media editing project using the software-implemented matrix switch.