Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Makefile to generate pieces with multiple fragments #15

Open
gctucker opened this issue Oct 16, 2015 · 2 comments
Open

Use Makefile to generate pieces with multiple fragments #15

gctucker opened this issue Oct 16, 2015 · 2 comments

Comments

@gctucker
Copy link
Member

Some pieces can be split into multiple fragments. In order to express how they depend on each other and on any input audio file, and also to automatically manage parallel generation, a Makefile approach can be used.

One approach is to implement this directly in Python, using functionality from Splat to work out the dependencies and run the fragment generators. However, it would mean spawning other Python processes to achieve parallel generation as Python doesn't handle threads very well. It would also mean implementing a way to resolve dependency chains. The advantage of this approach is that it would be portable and self-contained within Splat.

A second approach is to generate a Makefile to be used by make. This would just rely on a Splat utility to import a main module, rely on some convention to find the dependencies on other fragments and input files and generate a Makefile automatically. It could be saved as a file or generated and passed on standard input for each build. The main advantage is that it should be much easier to implement and would make use of all the standard make features to resolve dependencies, detect change dates and generate fragments in parallel with different processes.

A third potential approach would be to have a standard set of make rules that are created dynamically by relying on the same convention as in the 2nd approach. In this case, the Makefile would call a Splat utility to generate the dependencies and targets on the fly. This might be less flexible and not practical, but worth considering.

@gctucker
Copy link
Member Author

See pull-request #16 which implements the 2nd approach (Makefile passed to make).

@gctucker
Copy link
Member Author

Pull-request #16 now merged. Next step is to create a test project using the splat make command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant