Using Ruby for advanced saving tasks

For general discussion related FlowStone
User avatar
kortezzzz
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Using Ruby for advanced saving tasks

Post by kortezzzz »

Hi,
Just wondered if Ruby can make any advanced file saving tasks in a quick and elegant way. My challenge is like that:

I want to save the same text file to any sub-folder that is seeded in the highest folder in the hierarchy I pre-determine. For example:

The highest I determine is "c:\documents\flowstone". This folder contains 3 sub-folders named "instruments", "effects", "midi tools". Now, when I save a file, I want a copy of it in each of the sub-folders. The challenge here then is that if the user adds some more folders of his own to "c:\documents\flowstone\", the code would still be able recognizing the new folders as sub-folders and save the file into them. So It should be looking like this:

"c:\documents\flowstone\instruments\preset 1.txt"
"c:\documents\flowstone\effects\preset 1.txt"
"c:\documents\flowstone\miditools\preset 1.txt"

The user added the sub-folder "samples" -> the code recognizes it as well and save the file into it too:
"c:\documents\flowstone\samples\preset 1.txt"

Doable?
User avatar
Walter Sommerfeld
Posts: 250
Joined: Wed Jul 14, 2010 6:00 pm
Location: HH - Made in Germany
Contact:

Re: Using Ruby for advanced saving tasks

Post by Walter Sommerfeld »

Hi,

maybe this could help:

If you mean to find all the immediate subdirectories (just one level below where you are), try this:

Dir.chdir("/some/path/you/want/to/check/below")
subdir_list=Dir["*"].reject{|o| not File.directory?(o)}

That is: change directory someplace, construct an array of files found there, reject those array elements that aren't directories, and return the resulting culled arrray.


found here: https://stackoverflow.com/questions/800189/get-immediate-subdirectories-in-ruby
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Using Ruby for advanced saving tasks

Post by tulamide »

kortezzz,

what exactly is the concept behind this. I currently don't understand why you would want to save the very same file 3, 5 or 10 times?

Also, is it an executable or a plugin?

And finally, I would not recommend to let Ruby continuously watch a directory just in case a new folder is being created. This "update" should be initiated manually to not waste CPU.

But I might be able to say more, after your answers.
"There lies the dog buried" (German saying translated literally)
User avatar
kortezzzz
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Re: Using Ruby for advanced saving tasks

Post by kortezzzz »

Thank you, walter! It does helps :D
Maybe it won't do the whole requested process, but it does the sub-directories finding which lets me do the rest with greens :)
Attached the schematic for anyone that might get interested in this. Thanks!

Tula,
I need it as an ad hoc solution for a guy which I've created 5 standalone apps for him, each with it's own GUI resizing feature which it's size gets saved to a file once it get changed. The apps are somewhat the same size and used for presentations he makes and get carried on a USB disk on key. Wherever he arrives for a presentation, he uses the local computer (connected to a projector) to mirror the screen on the wall. Sometimes it's a desktop. Sometimes a laptop. And as we know, FS apps shown differ on each platform.
What he needs is a simple fast solution that resizes them all on the fly so before they get opened, so he won't need to resize each one of them manually and spend time. So I'm creating for him a small exe app which changes all the sizes on the fly by using a single button click. Once the sizes get determined by the the exe app, they will all open at the same size. That's why I need to look at his the sub-folders. I don't think it would be somehow harmful, doesn't it?
Attachments
(find sub directories).fsm
(1.12 KiB) Downloaded 1081 times
MichaelBenjamin
Posts: 275
Joined: Tue Jul 13, 2010 1:32 pm

Re: Using Ruby for advanced saving tasks

Post by MichaelBenjamin »

.
Last edited by MichaelBenjamin on Mon Sep 21, 2020 11:00 am, edited 1 time in total.
User avatar
kortezzzz
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Re: Using Ruby for advanced saving tasks

Post by kortezzzz »

Yep, Michael. This powerful and useful aspect of Ruby was barely touched or discussed. There were few great examples over the years how to make use of Ruby for that (some of them requested by me) and I use those small patches in my projects until today. Maybe we should make a dedicated post for that, if people are interested. I see that quite many forum members downloaded my very simple schematic, which definitely proves that there is an interest from the "silent masses" which would never ask anything but wait for someone else to post.
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Using Ruby for advanced saving tasks

Post by tulamide »

I've done a complete folder reading tool, that reads in a list of the names of any file in a folder and stores the path for later access. I made it public some years ago. Didn't get many downloads and so far (as I'm aware of) Spogg is the only one who made actually use of it (to access files from a dropdown in his sample based plugins).
"There lies the dog buried" (German saying translated literally)
User avatar
kortezzzz
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Re: Using Ruby for advanced saving tasks

Post by kortezzzz »

Tula, Well, the reason might be that most people don't understand what too complex tools do. I think they would try something more simple that can be easily detected with a schematic. Dunno if you did it, but I bet there would have have been much more downloads if you were demonstrating each feature there with a schematic. I also bet that most of the "silent masses" members pass or read at a glance anything that sounds to their ears like "bla bla bla" (I mean anything that most of them don't understand or don't wanna understand) without anything to download.
tulamide
Posts: 2714
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: Using Ruby for advanced saving tasks

Post by tulamide »

It was (and still is, buried somewhere in "examples") a complete tool, ready to use in any app/plugin. Spogg did so. You just needed to enter the start folder, the rest is just clicking on a dropdown menu to select a file, and if people are not even able to do that, I don't think they can handle ANY tool given to them. :roll:
"There lies the dog buried" (German saying translated literally)
User avatar
kortezzzz
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Re: Using Ruby for advanced saving tasks

Post by kortezzzz »

Strange, but looks like I'd never encountered such a tool (because If I had, it probably was in my tool box and would never forget about it). Any chance you at least remember how it called so we can run a search on the "examples" to find it?
Post Reply