Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
Is it possible that one physical file could represent more than one resource? Let's say, some file format of other application which contains multiple brushes. Or some file format which contains multiple types of resources (brushes, patterns, etc). If such case should be handled, we could look at such file as some special kind of directory: /home/aaa/_favorites.col#brush1 This way it should be possible to handle various collection formats from other application. About sharing resources: There was a suggestion, that when user want's to share resources, they could be exported to some kind of archive. If collection handling would be supported, it would be possible for user to access archive directly and for administrator to put some archives to read-only network folder and user could load those resources without the need of extracting and copying to local folder. ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
On Jan 18, 2008 8:55 AM, Sven Neumann [EMAIL PROTECTED] wrote: My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. One think I'm missing here is a way to share brushes with tags. The user scenarios I'm thinking about is: - Download package (ZIP-File) with a lot of brushes - Install them (btw. Finding the right folder and copying them into it looks like a problem for some users. At least it's an FAQ in the German gimpforum.de.) - Now I'd like to have this brushes tagged in Gimp and start working with this brushes and I don't want to tag them myself. Regards, Tobias ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
On Jan 18, 2008 5:03 AM, Tobias Jakobs [EMAIL PROTECTED] wrote: On Jan 18, 2008 8:55 AM, Sven Neumann [EMAIL PROTECTED] wrote: My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. One think I'm missing here is a way to share brushes with tags. The user scenarios I'm thinking about is: - Download package (ZIP-File) with a lot of brushes - Install them (btw. Finding the right folder and copying them into it looks like a problem for some users. At least it's an FAQ in the German gimpforum.de.) - Now I'd like to have this brushes tagged in Gimp and start working with this brushes and I don't want to tag them myself. What about a function to export brushes that dumps selected brushes to a new dir with a local version of brushrc, and a matching import that reads them in - file, MD5, and tags? Chris ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
On Jan 18, 2008 9:33 PM, Tobias Jakobs [EMAIL PROTECTED] wrote: On Jan 18, 2008 8:55 AM, Sven Neumann [EMAIL PROTECTED] wrote: My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. One think I'm missing here is a way to share brushes with tags. The user scenarios I'm thinking about is: - Download package (ZIP-File) with a lot of brushes - Install them (btw. Finding the right folder and copying them into it looks like a problem for some users. At least it's an FAQ in the German gimpforum.de.) - Now I'd like to have this brushes tagged in Gimp and start working with this brushes and I don't want to tag them myself. Regards, Tobias An archive as follows: brushrc/aqua brushrc/charcoal brushes/aqua brushes/charcoal ,if extracted in your .gimp-2.4/ directory, should do the right thing. Provided that brushrc filename references are either relative or have no path component -- another implementation detail to work out. ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
Hi, On Fri, 2008-01-18 at 12:03 +0100, Tobias Jakobs wrote: On Jan 18, 2008 8:55 AM, Sven Neumann [EMAIL PROTECTED] wrote: My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. One think I'm missing here is a way to share brushes with tags. The user scenarios I'm thinking about is: - Download package (ZIP-File) with a lot of brushes - Install them (btw. Finding the right folder and copying them into it looks like a problem for some users. At least it's an FAQ in the German gimpforum.de.) - Now I'd like to have this brushes tagged in Gimp and start working with this brushes and I don't want to tag them myself. You are right that installing resources is a problem for most users. At some point we should deal with this by adding functionality to import resources files into GIMP. Ideally it should be as simple as dropping the archive file or a folder on the Brushes list. GIMP should then ask the user if the files should be copied into the main brushes folder or if the folder location should be added to the brush search path. At the same time GIMP could ask for tags to assign to the new brushes. Ideally it would also look for a tags file in the folder and offer the tags found therein as the default. Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
On Jan 18, 2008 9:55 AM, Sven Neumann [EMAIL PROTECTED] wrote: My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. What data structure could be used to represent this data in application? As I understand, it will be necessary not only to traverse data, but also to update it at runtime (not files, but internal data structures, of course). Wouldn't it be nice to use Sqllite for this instead? The only drawback is that if you remove files, their tags will be kept around forever. They could be discarded after some period, say 90 days. Tags won't make sense forever (because you'll forget why you added them), so there is no point to keep them forever. ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
On Friday 18 January 2008 15:08, William Skaggs wrote: In any case, let me ask a basic sort of question about user interaction. Suppose I'm a user, painting with a set of brushes. I decide that I want to use a certain grunge brush. (Let's say I have a specific brush in mind, but all I remember about its tags is that it is a grunge brush from a set I imported last week.) What are the steps I have to take, as a user, in order to find the new brush and start using it, without losing access to the other brushes I am currently using? (I'm willing to assume that if I load everything with the grunge tag, I will be able to find the brush I want in there.) Of couse, this will have to be refined by the UI team. But I have two ideas for it: one would be abel to type in tags into a dialgo shwing brushes without lossing the ones already selected. Like, just typing more tags on the tag text entry widget, and having tehn combiend as or. The other one, is to allow the user to pop up another brushes dialog, in which he perfomes hs searches, He then can either select brushes from this ne dialog, or drag brushes from there to the first one, where they are transparently added to the group tag in use on the first window. js -- ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
I guess the reason I'm in such a fog is that all of the tag-using systems I know about are cumbersome, and allow methods other than tags to be used to help. Google, for example, is in some sense a tag-based navigation system -- and it's great, but you wouldn't want to depend entirely on it for your web navigation -- you also need bookmarks, history, and the URL entry to get a usable system. Bugzilla also uses tags, but only as a component. If it were possible to point to a program that already implements the sort of thing you have in mind, it would be very helpful to me. In any case, let me ask a basic sort of question about user interaction. Suppose I'm a user, painting with a set of brushes. I decide that I want to use a certain grunge brush. (Let's say I have a specific brush in mind, but all I remember about its tags is that it is a grunge brush from a set I imported last week.) What are the steps I have to take, as a user, in order to find the new brush and start using it, without losing access to the other brushes I am currently using? (I'm willing to assume that if I load everything with the grunge tag, I will be able to find the brush I want in there.) -- Bill ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
Hi, [EMAIL PROTECTED] (2008-01-18 at 0844.05 -0600): What about a function to export brushes that dumps selected brushes to a new dir with a local version of brushrc, and a matching import that reads them in - file, MD5, and tags? Or a tag system based in companion files (flowers.gih gets a flowers.gih.tags file) and then the common resource file is assembled as need in similar fashion than .fonts.cache-1 (with any extra info it can need, not just tags). No export tools need, no hidden info. Provided tags files are simple enough (say one tag per line, which can support languages or special types like tag assigned by user vs by creator via simple syntax like type[lang]=tag), they could even be merged with simple tools (concate the file, filter out duplicates) or processed by script (create zip with all resources tagged flower). GSR ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] tagged resources such as brushes, gradients, etc
Hi, On Fri, 2008-01-18 at 20:11 +0200, Aurimas Juška wrote: What data structure could be used to represent this data in application? As I understand, it will be necessary not only to traverse data, but also to update it at runtime (not files, but internal data structures, of course). Wouldn't it be nice to use Sqllite for this instead? IMO a database would be overkill. This can easily be implemented on top of GimpData and GimpContainer. I already added the GimpTagged interface to GimpData yesterday. If it turns out that there's a performance problem, GLib has the data structures we need to solve them. Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] tagged resources such as brushes, gradients, etc
Hi, On Thu, 2008-01-17 at 20:52 +0200, Aurimas Juška wrote: I don't see any disaster. Here is one possible solution: store some sort of checksum (let's say, MD5) together with filename in the database. MD5 checksums are a nice idea. I think I will incorporate that for the implementation of tagged resources. My current favorite approach is to put the tags into files in the ~/.gimp-2.x directory, one file per resource type. So there would be a brushrc, gradientrc, patternrc and so on. These files will contain metadata from the actual resource files. At some point they will have enough metadata to actually skip loading the resource file until it is actually used. That way we can avoid the need to load all resource files at startup. As a first step the implementation will concentrate on tags. So for now all that goes into the file per resource is - filename, either absolute or relative to ${gimp_dir} - MD5 sum for recovery - list of tags If a resource file with tags is lost (i.e. it doesn't exist under the filename any longer), the filename will be removed but the MD5 sum and tags will be kept. When the user adds new resource files, their MD5 sums are compared to the checksums of the entries without filename and tags are recovered from there. This is not perfect, but it should work quite well. The only drawback is that if you remove files, their tags will be kept around forever. But I guess we can live with that. The lost entries can be kept at the bottom of the tags file so they can be easily discarded manually. At some point we might even add a user interface for this. Does this make sense or did I forget something important? Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer