1. A method of processing a multi-media editing project comprising: providing a software-implemented matrix switch that is programmable to route multiple switch inputs to multiple switch outputs and to produce a single output that provides a data stream defined by a multi-media editing project; 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; ascertaining whether a requested multi-media file is located on the user computer; retrieving the multi-media file if the file is located on the user computer; seeking the requested file from the network-accessible location if the multi-media file is not located on the user computer; and producing a multi-media editing project using the software-implemented matrix switch.