how to make pattrstorage open the read and write dialogs in the same path?
i would just like to ask what the title says.
how can i make both (read and write) pattrstorage dialogs open in the same path?
after reading help and reference of [pattrstorage] i still don’t know how to do that + i cannot understand why that is not by default. i mean, why would anybody want to browse his directory tree twice? if you save a preset file in some path, you probably want to read the preset file from the same path.
My experience in dealing with paths to preset files or media files etc: you’d better take care of it yourself. That means deliver a complete path for reading and writing. could be achieved with the opendialog object…
I often utilize the path message to thispatcher as well, as you can organize the paths relative to your patch that way, and could avoid dialogs completely if you follow your own specific rules where to store things…
Unfortunately its more complicated for collectives…
stefantiedje: "take care of it yourself" – you just can’t, while the objects in MAX are just unfinished pieces of crap. MAX doesn’t give me any options to do it, except some JAVA (=clumsy) solution.
You mention the opendialog option, but I encounter EXACTLY the same issue there. Savedialog object – EXACTLY THE SAME.
I would find this amateurish work (done on the [opendialog] and [savedialog] objects + the "open" & "save" methods of pattrstorage) normal if this was some opensource made by people in their free time, but I think that it’s a big shame that Cycling74 is taking money for MAX, while they don’t have this kind of totally BASIC stuff sorted out. (i don’t mean only this thing, while there is much much more. even the most basic objects like numberboxes are totally useless in max). I mean, as I asked in the other thread already. How could ANYBODY working on development of opendialog/savedialog objects NOT THINK about this? Why there isn’t an attribute where I could set an actual path to the object??? I am just unable to understand + why is cycling spending time on developing high-level objects, while low level stuff is not finished…
Unless I’m seriously misunderstanding what you’re trying to do, I think this is pretty easy. As Stefan says, do it yourself.
Chris: Thanks for listening. What you sent is not what I meant, because it doesn’t show the Write dialogue if I understand your patch correctly. I want the same path, not the same filename. I want the dialog to appear for both functions (read/write).
I want the BOTH dialogs (READ and WRITE) to APPEAR, but starting in the same path where you ended up last time in either of them.
For example: I use the "Write" function of pattrstorage, it shows a dialog and it starts in some path, so I browse my harddrive through the folders and then I save my files somewhere on my disk. For example to f:projectsmusickangakkutsonic_tacamahacsong.xml
Now using the same patch, I want to open a file. So I use the "read" function of pattrstorage, but the dialog that shows is NOT showing me the "f:projectsmusickangakkutsonic_tacamahac" directory. Instead it is showing me the path where even the write dialog started, before I browsed my drive. So I have to browse again.
…and the worst thing is, that this is not only when using pattrstorage, but any file-dialogs (opendialog/savedialog objects) in max are missing a totally fundamental feature of setting a path manually. Without such feature it seems impossible to me to take care of it myself (or I would be really happy to find out that i’m wrong…)
I would also suggest that dnk777 check out some of umenu’s functionality along with the folder object. There are the readagain and writeagain messages to pattrstorage too!
As for number boxes, you need to connect them with patch cords or reference them by name for them to do something.
I was going to post an example, but I think you can take care of it yourself!
Nate: thanks for your reply. The folder object looks nice. But it takes the path as the input, so how do I let the user choose the folder? I know that the [opendialog] has this folder choosing option, but [opendialog] does not remember paths, so i’m facing exactly the same issue.
readagain and writeagain are cool if you want same files. but i don’t want same files. i just want to be able to manually set the path to whatever, so that I won’t have to browse to my custom folders 40 times a day…
(The numberboxes were just an example of another basic thing that almost works, but is totally useless for me in most cases. I know how they work, but try to set a instrument number using them. Being +-1pixel wrong with your mouse means being +-1 wrong in the instrument number, which is quite a HUGE difference. I ended up using live.numbox set to float, displaying int + a [round]–[change] tumor, but I’m getting sick of so many workarounds, before i’m able to do exactly what I want in max….
and thanks, but no need to post me an example of folder object and readagain/writeagain objects, while it does totally different things than I am trying to solved…
This is still not what you want exactly, but:
----------begin_max5_patcher---------- 1287.3oc0Yt0ihaCEG+4vmBqntRsqlRschyk9b0J0WFU0UZeoc0HCwvjQ4lR Lykc09cu9RBS.LPljPJyHAL1XRNme9+43ic99LK6E4OyprA+N3e.VVeelkkp KYGV0ssrSoOuLgVoFl8x7zTVF29F82wYOyU8+47TFnhuY0J.OW7O4krlwDGo FQ9hG9UWRSmqxy3YzTl5q9BqLhlQa9tBJe48wYquqjsjqMNG3bxM.jCdNT7A 1W9AFMGB9Z8uIaSZbVBiqrRTyMob8BYanX3aGV9Fdy3fsLlp3uoLFj3VH68G ylIe6lNxkL1SBG7.rTTxJXYQfpWRWjmXhHndRDrenDIXGOERfcDI6B.zQ.Pc 25Qxeofoum11fuNdrohWFWH7r6MgE3.wBxUxCO29PE7akJ2.riEwD8BNorpJ 5Z1gzQoX.ou7WTNu7Onb57GpxyLvJmvdxJWWnBOv.kDxyQ8Q3wfE95SB8sDP IasIl.GFSbvJX3dF8CdzzOiJV3fEfJCTAOTkhuJ+aHdJhpVPyVO5jopnTDot B7gpOXDPtCT1P5DftBijDgQrmK.+77O9uh+9seY9G+IC7wquYk87z5GhJECh zGADoOgUseMl7JJlljuFbK6IvmhSXfakvvffZfAb5OPtnoJOjJpqWf5XUF9T YLWTZnv2AqDjxDj76KkD4iDK1GpxUGFd0UT3hMbtwkrwAmetW6UXul26Sccl SpNlwAME3plkM4odCLiZfR5G5d8Vd6wD9+MiFAnGUzSFVEtZ4gu6Umn+XEzh MAAm9tePOUztaPftZM0tCuJqb8X3.YBG3AhCG+2q3PchA.SZDTPeCTBgszHj q3c2bZnXRof7GHTzJkqYnTkDGwJabkGoka8xzWLQDxohOB06vUW2YcMUvykz rfVJtkbV4crL5hDV6Dkcb81dtV6lzEGy0+yWWoos222MtnSbfCTqiPfca0jt Cl2ZInxiQYPUgtJIWXAlQ2mRxoFgGdXvC6Jy2RB9+Fdqz923UkWa7sAAQPHj 3COHMEcCOuPdJUlXKbPrsNj0qWmto6P1v31aTISeZ1ZnUSMKYRH0uZqEYsUg o5uksZUG1p6WOunmXF4hvKEUbZXNnum5C10ucI3n2Kmv7NxVRfuT15QNjZRI qbts0RusnVvvnFwUsys.xDQs5uRFK1RwJTd2xdx7QHWQejEcmvUEl9cxQDK1 up9oA0VnuLIVr6l16LSdtnhWDjbgCuWU4mHylkcMn2onUh9JEf7DQ593gDYb zsZSN+T06icZmKCw0m5Twm44lx0NLEKRWD.BFLUOzjCYj5NZmDms+SkTY1x9 2EbU4aJW1bIqOvsWSIaGIhDhyn7Xgzn0XB2YP2GGEwxZuLbTbkT+pHq4s.2U ywIrK1yjYNxm13YMGkMiNg8jFGUjKpTqdJBGnKCxSs.gaSbT6VnPUZPhHRiT 25UiX77NXG7t8Pvkj1cA16YyWRyQdnicaxehrmtDa3Lc7woKxG4SHZhrGucB COAddKwpgpCOzApOuHe2sst.wi6wpi.TuoUvg5xDL5pI+vzQmtDMFLYVCoCV yzkIeOQZ+fydghttpPQWj9gES7115RDJ5L9Nfief5bOvsc.UqKgCfuXNfq9o R2LC3eYJNAEL9NPc1bBFsyL.5x3.9WLGXhlA5f822pez6agVT7Hqrp9RpLDw V6dHuT1z6FUy3LcS0Uztj8Xby38mIuZ+X1+gZvoXg -----------end_max5_patcher-----------
Also, do you know about holding the shift key when manipulating number boxes?
Thanks, it’s good to learn new ways, even if it’s not what I need.
The way you did it makes sense, because it lets you save files where you opened them. But what If you start a new project and want to save it for the first time in a separate folder?
Or sometimes you might want to save elsewhere, so the option of changing a folder when writing is needed as well, but without the unnecessary hdd-surfing for 2nd time…(even the 1st time is annoying enough. I would love to be able to have my default project location written in some config (of which i take care myself) and forward that info to pattrstorage on loadbang and the first read/write would just start there. then, any next read/write dialog would start where the last one started). Simple stupid thing, but makes workflow much more smooth and that’s what matters a lot in my world. I want to make my patches intoxicated-user-friendly™ and I can imagine how confusing it would be for an user on acid to browse his chaotic hdd structure once or even worse twice. I don’t want him to browse it at all if it’s not necessery (if he has his default path set in config already.)
Feature request: Attributes for [opendialog fold]:
@openpath : Set default open path for when you first bang it (set via a browse button in Inspector or by using a message)
@preservepath 1/0 : remembers/doesn’t remember prior path chosen
If we need a new object that’s specifically for folders, that would be great too, because this one kind of does two jobs by using the "fold" argument. Maybe leave this one alone and make a new one called "openfolder" that has these attributes.
I’ve gotten a little tired of browsing through the full hierarchy too at times, but usually it’s only once, because there are other options like dropping folders (which won’t always be user-friendly, true…)
I also hear what you’re saying about the numberbox, but I think they’re really great for so many things. I don’t ever try to use a mouse to choose an instrument (or other integer-based value) with them if I need to be precise, I’d type or use the arrow keys. They’re not really designed for mousing like that. With the mouse I always use [umenu] or if it’s a small number of options, [tab].
fwiw I completely agree with dnk777; the opendialog object really should have default folder settable with a simple message ie (open