Re: [Qutecsound-devel] how to include files in example
Brought to you by:
mantaraya36
From: Tarmo J. <trm...@gm...> - 2021-08-12 20:37:59
|
Hi! I finished now a new system for managing examples, it is done at the moment in separate path "examples": https://github.com/CsoundQt/CsoundQt/tree/examples 1) I moved the examples from source root directory to src/Examples/CsoundQt (maybe there is a better name for it, Joachim?). src/Examples will be the place where we can put all the examples from now on 2) the Examples menu is filled automatically according the subfolders in the Examples path. It means we can easily add new categories, regroup the examples etc - managing the examples does not require touching the CsoundQt source code any more 3) I moved source materials from FLOSS ans McCurdy one level up, to src/Examples/SourceMateriald and got rid of the duplicates this way. I changed the current references to ../../SourceMaterials in csd-s. New source materials can be put there, too, if needed for new examples. 4) The examples folder should be found automatically in most cases, but for special occasions, I added an option under Configuration->Environment to set the path of examples folder, if user needs to. I still think it is good to move the examples out to another repo (CsoundQt/Examples perhaps?) and use it as a git submodule - so it can be pulled easily together with CsoundQt source but it is possible to pull also just source, without examples (this is probably good for linux packagers), too. The benefit is that managing examples gets independent, you can always download newest version from git as zip, also it gets more easy and clearer to handle, so we can hope to get more people to contribute and take care of the example base. I don't know how to do the submodule thing, to be honest, but I will figure out, if you agree it makes sense. Joachim, if you have a chance to test if the examples work, would be great! tarmo Kontakt joachim heintz (<jh...@jo...>) kirjutas kuupäeval E, 2. august 2021 kell 23:11: > hi - > > sounds great what you say about your work on this! thanks a lot for > doing it so fast. > > i am not sure i understand your discussion well, about the own repo for > the examples. but i'd definitely prefer to have the examples *included* > in CsoundQt, as it was. i think the examples are one of the pros for > CsoundQt, and we should not require to be always online or something (i > just was in the middle of germany and had no internet access, not even > mobile ...). > > cheers - > joachim > > > > On 02/08/2021 17:01, Tarmo Johannes wrote: > > Hi! > > > > 1) Started work on moving all examples to src/Examples. I do it in a > > separate branch (examples) just for any case. I have not pushed it yet > > though. > > > > I moved the main examples to Examples/CsoundQt and expanded a bit the > > folders where the examples can be found.. The only example/csd that has > > to be delivered within the resources with the binary is Eduardo's > > AudioMidiTest.csd as I find it absolutely necessary to have it by the > > program in all times. > > > > The menu gets populated automatically quite fine, it needs some more > > work (Getting Started submenus and Stria Synth), I moved all resources > > files to Examples/SourceMaterials Next step is to change McCurdy and > > Floss examples so that they would use the one path and would not > > duplicate the files. > > > > Now I have to finish but hopefully I will put it out for testing soon. > > > > > > 2) Moving the examples to separate git repo is very good idea, I think. > > Eduardo, did you have in mind that it is the CsoundQt program that does > > the git pull or it the user/packager who pulls it via git submodules > > before building? The first case won't probably work since most of users > > don't have git installed. > > > > > > Greetings, > > tarmo > > > > Kontakt Eduardo Moguillansky (<edu...@gm... > > <mailto:edu...@gm...>>) kirjutas kuupäeval R, 30. > > juuli 2021 kell 14:42: > > > > Another idea: > > > > Maybe the examples could be moved to their own repo. In linux (or in > > the other platforms as well) this repo could be cloned/pulled by > > csoundqt. Then the examples and their resources would be in > > predictable places and the resources can be accessed by relative > paths. > > > > eduardo > > > > On 30.07.21 13:35, Tarmo Johannes wrote: > >> Yes, > >> > >> I agree it makes sense to rework it. On MacOs and Windows with the > >> installers it is no problem, on Linux we must make sure that the > >> examples can be found, perhaps there should be an option in the > >> configuration. > >> > >> Greetings, > >> Tarmo > >> > >> R, 30. juuli 2021 13:43 joachim heintz <jh...@jo... > >> <mailto:jh...@jo...>> kirjutas: > >> > >> thanks for the reply, tarmo! > >> > >> the inclusion of sound files into some of the csd examples is > >> not only > >> an issue for ImitativeAdditive.csd. there are a couple of other > >> examples which i would like to change, too. so moving the > >> examples to > >> another category is no solution. > >> > >> after your explanation i have two ideas: > >> > >> 1. would it be possible (and not too hard) to treat the current > >> /examples in the same way as src/Examples? this means that > >> they are not > >> compiled, but just copied. i think this is actually also > >> better because > >> then the users can access the csd files. and we could add the > >> sound > >> files in a similar way i did it with the floss manual examples. > >> i think this would be the best solution. > >> > >> 2. if not possible, the method you described should be allright: > >> "Thus the fox.wav added this way should be copied (by Qt) to a > >> temporary > >> location first and the path should be given to Csound via > >> --env:SSDIR+= > >> or setting environment variable." > >> > >> let me know what you think; cheers - > >> > >> joachim > >> > >> > >> On 30/07/2021 11:34, Tarmo Johannes wrote: > >> > Hi! > >> > > >> > Sorry, I did see your email but waited for a good moment to > >> try it out. > >> > I did not yet but for now I can explain the background: > >> > > >> > there are two places for examples - <CsoundQt source > >> folder>/examples > >> > and and <source>/src/Examples > >> > > >> > The first gets compiled as binary code to CsoundQt as Qt > >> resource, the > >> > second, the "extended examples" (Floss, McCurdy, Stria) gets > >> installed > >> > to the system as normal folders. > >> > > >> > The problem is that Qt can read from the compiled-in > >> resource but Csound > >> > not. Thus the fox.wav added this way should be copied (by > >> Qt) to a > >> > temporary location first and the path should be given to > >> Csound via > >> > --env:SSDIR+= or setting environment variable. Quite some > >> hassle. > >> > > >> > One solution is to add the material to the end of csd with > >> the <CsFileB > >> > filename="fox.wav"></CsFileB> (I forgot which tool helps to > >> do it) (like > >> > in case of Synths/Scanned_Synthes_Sandbox.csd) > >> > but anyway - I think at some point Andés and René discussed > >> it and > >> > decided that no large source materials are added to > >> src/examples - it > >> > makes just the CsoundQt binary grow. > >> > > >> > Much simpler way would be to put ImitiativeAdditive.csd into > >> the real > >> > folder under "src/Examples" where fox.wav is is in > >> > src/Examples/FLOSS Manual Examples/SourceMaterials/ and set > >> the SSDIR > >> > relative to the csd. Perhaps it makes sense to do another > >> folder like: > >> > > >> > src/Examples/Other (please think about a good name) and then > >> > --env:SSDIR+=../FLOSS Manual Examples/SourceMaterials > >> > should work. > >> > > >> > I am not sure at the moment if the Examples menu gets > populated > >> > automatically or we need to create another entry. in the code. > >> > > >> > Please let me know what you think and if I can help somehow? > >> > > >> > tarmo > >> > > >> > Kontakt joachim heintz (<jh...@jo... > >> <mailto:jh...@jo...> > >> > <mailto:jh...@jo... <mailto:jh...@jo...>>>) > >> kirjutas kuupäeval R, 30. juuli 2021 kell > >> > 10:31: > >> > > >> > hi tarmo, hi eduardo - > >> > > >> > i wrote an email to the csoundqt dev list. think this > >> would be > >> > great to > >> > include in csoundqt 1.0.0. can you help? the text below. > >> > > >> > i want to include "fox.wav" in > >> Examples/Synths/ImitiativeAdditive.csd. > >> > > >> > what is the best way to achieve this? > >> > > >> > in the McCurdy and FLOSS examples, i once inserted the > >> option: > >> > --env:SSDIR+=../SourceMaterials > >> > > >> > i tried the same here (locally, no push to git): > >> > 1. i created a folder "SourceMaterials" in the examples/ > >> directory, > >> > with > >> > fox.wav in it. > >> > 2. i inserted this around line 4600 in src/qutecsound.cpp: > >> > QStringList sourceMaterials; > >> > sourceMaterials << > >> ":/examples/SourceMaterials/fox.wav"; > >> > subMenus << sourceMaterials; > >> > subMenuNames << tr("SourceMaterials"); > >> > 3. and in application.qrc: > >> > <file>../examples/SourceMaterials/fox.wav</file> > >> > > >> > after recompiling, the folder "SourceMaterials" shows up > >> in the menu, > >> > but the fox.wav is not found by csound. > >> > > >> > perhaps i forgot one step? > >> > > >> > but anyway, i think it is a nasty way to do it. so back > >> to the > >> > question > >> > above: how can it be done better, properly? > >> > > >> > cheers - > >> > joachim > >> > > >> > > > _______________________________________________ > Qutecsound-devel mailing list > Qut...@li... > https://lists.sourceforge.net/lists/listinfo/qutecsound-devel > |